Introduction to Kubernetes

  1. What is container clustering and orchestration? What is the core purpose of it?
  2. How do the core features of a container cluster/orchestrator satisfy the production-grade requirements?
  3. Understanding the nature of Kubernetes and Docker Swarm, a comparative study

Overview of Kubernetes

  1. Understanding the architecture of Kubernetes and its core components
  2. How to build Linux VMs for Kubernetes nodes using Vagrant multi-machine configuration? (hands-on)
  3. Knowing the step-by-step procedure to form a Kubernetes cluster
  4. How to install and configure Docker engine on each Kubernetes node? (hands-on)
  5. How to install and configure the Docker CRI on each Kubernetes node? (hands-on)
  6. How to install and configure Kubernetes on each node? (hands-on)
  7. Initializing/Bootstrapping the Kubernetes cluster and configuring the Kubernetes client to manage the control plane (hands-on)
  8. How to integrate the Overlay-based Flannel network driver with the Container Network Interface (CNI) in the Kubernetes cluster? (hands-on)
  9. Joining Kubernetes worker nodes with the Kubernetes control plane (master) using bootstrap tokens (hands-on)
  10. Observing the bootstrapping process of the Kubernetes control plane
  11. How to verify a bootstrapped Kubernetes control plane, the master node? (hands-on)

Container Runtime Interface (CRI)

  1. What is the CRI? How to correlate it with the Kubelet, the Kubernetes agent?
  2. What are the different container runtimes supported by CRI? Why did we choose the Docker engine over Containerd, CRI-O, and Mirantis?
  3. Visualizing the coupling between CRI and Docker engine in the Kubernetes cluster (hands-on)

Container Network Interface (CNI)

  1. What is the CNI and its usage in Kubernetes?
  2. What are the major networking drivers supported by CNI? Why do we select the Flannel network driver for Kubernetes?
  3. How does CNI integrate with the Flannel network driver in Kubernetes? (hands-on)

Kubernetes client and Kubernetes user

  1. Understanding the interconnection between the Kubernetes user, the Kubernetes client, and the Kubernetes API server
  2. How to generate a self-signed SSL certificate for the Kubernetes user to authenticate the Kubernetes control plane? (hands-on)
  3. How to generate a Kubernetes user configuration for the Kubernetes client to access a remote Kubernetes API server? (hands-on)

Kubernetes metrics server

  1. Correlating the Kubernetes metrics server with Kubernetes Horizontal Pod Autoscaler (HPA) and Kubernetes Vertical Pod Autoscaler (VPA)
  2. How to deploy and verify the Kubernetes metrics server in the cluster? (hands-on)

Kubernetes dashboard

  1. What is the core purpose of the Kubernetes dashboard UI?
  2. How to implement the Kubernetes dashboard and access it using token-based authentication? (hands-on)

Kubernetes resource/object

  1. Demystifying the Kubernetes resources based on contexts and use cases
  2. Visualizing the Infrastructure as Code (IaC) implementation in the Kubernetes cluster
  3. How to use Kubernetes client for automating and orchestrating multi-environment Kubernetes resources from a single YAML configuration?
  4. Observing the namespaced and cluster-level Kubernetes resources and their supporting Kubernetes API versions (hands-on)
  5. How to verify the default Kubernetes namespaces? (hands-on)
  6. How to create and manage Kubernetes namespaces? (hands-on)

Kubernetes storage

  1. What are the important Kubernetes resources in the context of Kubernetes storage? How to correlate it with proper use cases or workloads?
  2. Interconnecting the Kubernetes resources such as storage-class, persistent-volume, and persistent-volume-claim with static and dynamic Kubernetes storage provisioning
  3. Managing the Kubernetes storage-classes and Kubernetes persistent-volumes (hands-on)
  4. How do Kubernetes config-maps and Kubernetes secrets sync to the pods in Kubernetes nodes?
  5. How to create and verify Kubernetes config-maps? (hands-on)

Kubernetes workload

  1. What is the Kubernetes pod? How is a Kubernetes pod related to the OCI container?
  2. Correlating the Kubernetes pod with Kubernetes workload-specific resources like deployment, stateful-set, replica-set, daemon-set, and job
  3. How does Kubernetes proxy run as a Kubernetes daemon-set? (hands-on)
  4. How to create and manage Kubernetes stateful-sets? (hands-on)
  5. How to create, scale, rollout, and rollback a Kubernetes deployment? (hands-on)
  6. How to verify Kubernetes replica-sets? (hands-on)
  7. What is inside a Kubernetes pod? How to observe and verify it? (hands-on)
  8. How to observe HA, HD, scaling, self-healing, fault tolerance, and rolling update behaviours of Kubernetes workload-specific resources? (hands-on)

Kubernetes network

  1. What are the different types of Kubernetes services? How to choose a Kubernetes service based on the use case?
  2. Visualizing the Kubernetes services with Kubernetes pods
  3. How to create cluster-ip and node-port based Kubernetes services? (hands-on)
  4. How to verify Kubernetes endpoints? (hands-on)
  5. Integrating the Kubernetes services with Nginx Kubernetes ingress controller and Kubernetes ingress
  6. How to deploy and verify the Nginx Kubernetes ingress controller in the cluster? (hands-on)
  7. How to create and manage Kubernetes ingresses? (hands-on)
  8. How to observe service discovery, load balancing, and routing behaviours of Kubernetes network-specific resources? (hands-on)

Kubernetes access

  1. How to understand the RBAC Kubernetes API and Kubernetes access-specific resources such as role, role-binding, cluster-role, and cluster-role-binding?
  2. Visualizing the interconnection between the Kubernetes user, the Kubernetes control plane, and the Kubernetes access-specific resources
  3. Managing the Kubernetes roles and Kubernetes role-bindings (hands-on)
  4. Managing the Kubernetes cluster-roles and Kubernetes cluster-role-bindings (hands-on)
  5. How to test Kubernetes access-specific resources? (hands-on)

Kubernetes node

  1. How do node affinity, taint-toleration, cordon-uncordon, and drain operations impact the Kubernetes pod scheduling?
  2. Correlating the node affinity factors with labels and selectors (hands-on)
  3. How does a Kubernetes node respond to taint and untaint operations? (hands-on)
  4. How to perform and verify Kubernetes node operations like cordon, uncordon, drain, and delete? (hands-on)

Kubernetes cluster

  1. How to do capacity planning for production-grade Kubernetes cluster or Docker Swarm cluster?
  2. A preflight checklist for a production-grade Kubernetes cluster deployment
  3. How to debug and troubleshoot the Kubernetes cluster?
  4. Deep-diving into the internals of a Kubernetes cluster (hands-on)
  5. How to destroy the Kubernetes cluster and its components? (hands-on)