Introduction
  • Introduction
  • Source Code and PDFs
  • CKA Test Prep
  • Why Is Kubernetes So Hot Right Now?
  • Containers vs. Virtual Machines
  • What Is Docker?
  • What Is Kubernetes?
  • Understanding Kubernetes in the Cloud Ecosystem
Getting Started With Kubernetes
  • Getting Started With the GCP
  • Setting Up A GCP Account
  • Using The Cloud Shell
  • An end-to-end example: Kubernetes on the GKE
Kubernetes and the Cloud Ecosystem
  • How Kubernetes Works
  • The Role of the Master Node
  • Nodes, Kube-proxy, Kubelet
  • What Is A Pod?
  • Lab:Creating pods imperatively
  • Where Do Pods Run?
  • Can Pods Have Multiple Containers?
  • Lab:Multi-container Pods
  • How Do Master Nodes Communicate?
  • Where Can We Run Kubernetes?
  • Kubernetes for a Hybrid Multi-cloud World
  • Cloud Controllers
  • Interacting with Kubernetes
  • The Architecture of Kubernetes
Pods
  • Lab:Creating pods declaratively
  • Imperative or Declarative?
  • How Declarative Files are Applied
  • The Pros and Cons of Declarative and Imperative Object Management
  • Names and UIDs
  • Namespaces
  • Labels
  • Label Selectors Loose Coupling
  • Annotations
  • Lab:Deletion of pods
  • Lab:Editing the configuration information of the deployment
  • Lab: Scaling The Number of Pods using Deployments
Volumes and Storage
  • Volumes
  • Lab:Volumes and the emptydir volume
  • Types Of Volumes
  • Persistent_Volumes
  • Cloud Specific Persistent Volumes
  • Lab:Persistent Volumes
  • Secrets, ConfigMaps and Other Volume Types
  • Lab:Use of secrets pass information to pods
  • Lab:Create secrets directly from files
  • Lab: ConfigMaps
  • Volumes
More on Pods and Containers
  • Containers in a Pod
  • Lab:kubectl apply
  • What Environment Do Containers See?
  • Lab:Setting Environment Variables in Containers
  • Lab:Downward API Passing information from pod to container
  • How Can Containers React To Lifecycle Events?
  • Lab:Handling Container Lifecycle Events
  • Pod Node Matching
  • Lab:Associating Pods with Nodes using nodeSelector
  • Taints
  • Lab:kubectl_taint
  • Lab:Tolerations
  • Init Containers
  • Lab:Init containers Setting up the state of the pods
  • Pod Lifecycle
  • Container Probes
  • Lab:Use of Liveness and Readiness Probes
  • Lab:Liveness probes Using HTTP and TCP
  • Pod Presets
  • Pod Priorities
  • Containers
ReplicaSets
  • Introducing Controllers
  • What Are ReplicaSets?
  • Lab:ReplicaSet object
  • Working with ReplicaSets
  • Lab:Deleting a ReplicaSet and its associated pods
  • Lab:Deleting a ReplicaSet but not the associated pods
  • ReplicaSets and Loose Coupling
  • Horizontal Pod Autoscalers
  • Lab:Loose coupling between ReplicaSet object and the pods
  • Lab:Scaling a ReplicaSet object
ReplicationControllers
  • Replication Controllers
  • Lab:Replication controller
  • Lab:Deleting a replication controller and the associated pods
  • Lab:Deleting a replication controller but not its pods
  • Lab:Loose coupling between replication controller and its pods
Deployments
  • Deployments
  • When Use Deployments
  • Creating a Deployment
  • Lab:kubectl run Create deployments imperatively
  • Lab:YAML files for Deployment objects
  • Rolling Back Deployment