Kubernetes (a.k.a K8s) is an open-source container-orchestration system which manages the containerised applications and takes care of the automated deployment, storage, scaling, scheduling, load balancing, updates(rolling-updates), self-healing, batch-execution and monitoring of containers across clusters of hosts.
Kubernetes was originally developed by Google labs and later donated to Cloud Native Computing Foundation (CNCF).
Why Kubernetes?
There are multiple Container-Orchestration systems available today but Kubernetes has become more popular as it is cost efficient and provides a lot of options to customize deployments and has support for many different vendors. It is supported on all major public cloud service providers like GCP, Azure, AWS, Oracle Cloud, Digital Ocean etc.
Kubernetes Architecture
Kubernetes follows the master/slave architecture. So, we have the master nodes and the worker nodes. The master nodes manage the worker nodes and together they form a cluster. A cluster is a set of machines called nodes. A Kubernetes cluster has at least one master node and one worker node. However, there can be multiple clusters too.
List of Labs and Tutorials for All Levels
Preparing 5-Node Kubernetes Cluster
PWK:
- Preparing 5-Node Kubernetes Cluster on Kubernetes Platform
- Setting up WeaveScope For Visualization on Kubernetes
- Running Portainer on 5 Node Kubernetes Cluster
GKE
Docker Desktop for Mac
Ubuntu
Using Kubectl
Minikube101
Pods101
- Introductory Slides
- Deploying Your First Nginx Pod
- Viewing Your Pod
- Where is your Pod running on?
- Pod Output in JSON
- Executing Commands against Pod
- Terminating a Pod
- Adding a 2nd container to a Pod
ReplicaSet101
- Introductory Slides
- Creating Your First ReplicaSet – 4 Pods serving Nginx
- Removing a Pod from ReplicaSet
- Scaling & Autoscaling a ReplicaSet
- Best Practices
- Deleting ReplicaSets
Deployment101
- Introductory Slides
- Creating Your First Deployment
- Checking the list of application deployment
- Scale up/down application deployment
- Scaling the service to 2 Replicas
- Perform rolling updates to application deployment
- Rollback updates to application deployment
- Cleaning Up
Scheduler101
- How Kubernetes Selects the Right node?
- Node Affinity
- Anti-Node Affinity
- Nodes taints and tolerations
Services101
- Introductory Slides
- Deploy a Kubernetes Service?
- Service Exposing More Than One Port
- Kubernetes Service Without Pods?
- Service Discovery
- Connectivity Methods
- Headless Service In Kubernetes?
StatefulSets101
- The difference between a Statefulset and a Deployment
- Deploying a Stateful Application Using Kubernetes Statefulset?
- Deploying NFS Server
- Deploying PV
- Deploying PVC
- Using Volume
- Recreate Pod
DaemonSet101
- Why DaemonSets in Kubernetes?
- Creating your first DeamonSet Deployment
- Restrict DaemonSets To Run On Specific Nodes
- How To Reach a DaemonSet Pod
Jobs101
Ingress101
RBAC101
- Role-Based Access Control (RBAC) Overview
- Creating a Kubernetes User Account Using X509 Client Certificate
Service Catalog101
- What is Kubernetes Service Catalog?
- Creating a sample Service Catalog
- Installing Service Catalog Helm Chart
Cluster Networking101
- What Is Cluster Networking In Kubernetes Sense?
- Kubernetes Networking Rules
- Types of Networks
- What is a Container Network Interface (CNI)?
- LAB- Weave Net Implementation
Network Policies101
- What is a Kubernetes Network Policy?
- Creating Your First NetworkPolicy Definition
- How can we fine-tune Network Policy using selectors?
- Deny Ingress Traffic That Has No Rules
- Deny Egress Traffic That Has No Rules
- Allow All Ingress Traffic Exclusively
- Allow All Egress Traffic Exclusively
Monitoring101
- Monitoring in Kubernetes
- Core Monitoring Pipeline
- Services Monitoring Pipeline
- What should you consider in Kubernetes Services Pipeline?
- What about Metrics Visualization?
- Changes To Watch For
Helm101
- What is Helm?
- Installing a Helm Chart
- Helm Charts
- Helm Chart Hooks
- Helm Chart Testing
- Helm Chart Repository
Comments are closed.