Introduction to Kubernetes
- What is container clustering and orchestration? What is the core purpose of it?
- How do the core features of a container cluster/orchestrator satisfy the production-grade requirements?
- Understanding the nature of Kubernetes and Docker Swarm, a comparative study
Overview of Kubernetes
- Understanding the architecture of Kubernetes and its core components
- How to build Linux VMs for Kubernetes nodes using Vagrant multi-machine configuration? (hands-on)
- Knowing the step-by-step procedure to form a Kubernetes cluster
- How to install and configure Docker engine on each Kubernetes node? (hands-on)
- How to install and configure the Docker CRI on each Kubernetes node? (hands-on)
- How to install and configure Kubernetes on each node? (hands-on)
- Initializing/Bootstrapping the Kubernetes cluster and configuring the Kubernetes client to manage the control plane (hands-on)
- How to integrate the Overlay-based Flannel network driver with the Container Network Interface (CNI) in the Kubernetes cluster? (hands-on)
- Joining Kubernetes worker nodes with the Kubernetes control plane (master) using bootstrap tokens (hands-on)
- Observing the bootstrapping process of the Kubernetes control plane
- How to verify a bootstrapped Kubernetes control plane, the master node? (hands-on)
Container Runtime Interface (CRI)
- What is the CRI? How to correlate it with the Kubelet, the Kubernetes agent?
- What are the different container runtimes supported by CRI? Why did we choose the Docker engine over Containerd, CRI-O, and Mirantis?
- Visualizing the coupling between CRI and Docker engine in the Kubernetes cluster (hands-on)
Container Network Interface (CNI)
- What is the CNI and its usage in Kubernetes?
- What are the major networking drivers supported by CNI? Why do we select the Flannel network driver for Kubernetes?
- How does CNI integrate with the Flannel network driver in Kubernetes? (hands-on)
Kubernetes client and Kubernetes user
- Understanding the interconnection between the Kubernetes user, the Kubernetes client, and the Kubernetes API server
- How to generate a self-signed SSL certificate for the Kubernetes user to authenticate the Kubernetes control plane? (hands-on)
- How to generate a Kubernetes user configuration for the Kubernetes client to access a remote Kubernetes API server? (hands-on)
Kubernetes metrics server
- Correlating the Kubernetes metrics server with Kubernetes Horizontal Pod Autoscaler (HPA) and Kubernetes Vertical Pod Autoscaler (VPA)
- How to deploy and verify the Kubernetes metrics server in the cluster? (hands-on)
Kubernetes dashboard
- What is the core purpose of the Kubernetes dashboard UI?
- How to implement the Kubernetes dashboard and access it using token-based authentication? (hands-on)
Kubernetes resource/object
- Demystifying the Kubernetes resources based on contexts and use cases
- Visualizing the Infrastructure as Code (IaC) implementation in the Kubernetes cluster
- How to use Kubernetes client for automating and orchestrating multi-environment Kubernetes resources from a single YAML configuration?
- Observing the namespaced and cluster-level Kubernetes resources and their supporting Kubernetes API versions (hands-on)
- How to verify the default Kubernetes namespaces? (hands-on)
- How to create and manage Kubernetes namespaces? (hands-on)
Kubernetes storage
- What are the important Kubernetes resources in the context of Kubernetes storage? How to correlate it with proper use cases or workloads?
- Interconnecting the Kubernetes resources such as storage-class, persistent-volume, and persistent-volume-claim with static and dynamic Kubernetes storage provisioning
- Managing the Kubernetes storage-classes and Kubernetes persistent-volumes (hands-on)
- How do Kubernetes config-maps and Kubernetes secrets sync to the pods in Kubernetes nodes?
- How to create and verify Kubernetes config-maps? (hands-on)
Kubernetes workload
- What is the Kubernetes pod? How is a Kubernetes pod related to the OCI container?
- Correlating the Kubernetes pod with Kubernetes workload-specific resources like deployment, stateful-set, replica-set, daemon-set, and job
- How does Kubernetes proxy run as a Kubernetes daemon-set? (hands-on)
- How to create and manage Kubernetes stateful-sets? (hands-on)
- How to create, scale, rollout, and rollback a Kubernetes deployment? (hands-on)
- How to verify Kubernetes replica-sets? (hands-on)
- What is inside a Kubernetes pod? How to observe and verify it? (hands-on)
- How to observe HA, HD, scaling, self-healing, fault tolerance, and rolling update behaviours of Kubernetes workload-specific resources? (hands-on)
Kubernetes network
- What are the different types of Kubernetes services? How to choose a Kubernetes service based on the use case?
- Visualizing the Kubernetes services with Kubernetes pods
- How to create cluster-ip and node-port based Kubernetes services? (hands-on)
- How to verify Kubernetes endpoints? (hands-on)
- Integrating the Kubernetes services with Nginx Kubernetes ingress controller and Kubernetes ingress
- How to deploy and verify the Nginx Kubernetes ingress controller in the cluster? (hands-on)
- How to create and manage Kubernetes ingresses? (hands-on)
- How to observe service discovery, load balancing, and routing behaviours of Kubernetes network-specific resources? (hands-on)
Kubernetes access
- How to understand the RBAC Kubernetes API and Kubernetes access-specific resources such as role, role-binding, cluster-role, and cluster-role-binding?
- Visualizing the interconnection between the Kubernetes user, the Kubernetes control plane, and the Kubernetes access-specific resources
- Managing the Kubernetes roles and Kubernetes role-bindings (hands-on)
- Managing the Kubernetes cluster-roles and Kubernetes cluster-role-bindings (hands-on)
- How to test Kubernetes access-specific resources? (hands-on)
Kubernetes node
- How do node affinity, taint-toleration, cordon-uncordon, and drain operations impact the Kubernetes pod scheduling?
- Correlating the node affinity factors with labels and selectors (hands-on)
- How does a Kubernetes node respond to taint and untaint operations? (hands-on)
- How to perform and verify Kubernetes node operations like cordon, uncordon, drain, and delete? (hands-on)
Kubernetes cluster
- How to do capacity planning for production-grade Kubernetes cluster or Docker Swarm cluster?
- A preflight checklist for a production-grade Kubernetes cluster deployment
- How to debug and troubleshoot the Kubernetes cluster?
- Deep-diving into the internals of a Kubernetes cluster (hands-on)
- How to destroy the Kubernetes cluster and its components? (hands-on)