This class preps students for their CKA certification, with a mix of lecture, 30+ hands-on labs and practice CKA exam.
By the conclusion of this hands-on, vendor agnostic training you will go back to work with the knowledge, skills, and abilities to design, implement, and maintain a production-grade Kubernetes cluster.
Each student will be given an environment that allows them to build a Kubernetes environment from scratch.
Course Objectives:
Upon completing this course, the learner will be able to meet these overall objectives:
- Cluster architecture, installation, and configuration
- Rolling out and rolling back applications in production
- Scaling clusters and applications to best use
- How to create robust, self healing deployments
- Networking configuration on cluster nodes, services, and CoreDNS
- Persistent and intelligent storage for applications
- Troubleshooting cluster, application, and user errors
- Vendor-agnostic cloud provider-based Kubernetes
Cluster Architecture
- Lecture: Kubernetes Architecture
- Lecture: Pods and the Control Plane
Installation
- Lecture: Kubeadm Prerequisites
- Lecture + Lab: Kubeadm Prerequisites
- Lecture: Configure Network Plugin Requirements
- Lecture + Lab: Configure Network Plugin Requirements
- Lecture: Kubeadm Basic Cluster
- Lecture + Lab: Installing Kubeadm
- Lecture: Join Node to Cluster
- Lecture + Lab: Join Node to Cluster
Cluster Administration
- Lecture: ETCD Snapshot and Restore
- Lecture + Lab: ETCD Snapshot and Restore
- Lecture: Kubeadm Cluster Upgrade
- Lecture + Lab: Kubeadm cluster upgrade
- Lecture: Purge Kubeadm
- Lecture + Lab: Purge Kubeadm
- Lecture: Kubernetes the Alta3 Way
- Lecture + Lab: Deploy Kubernetes using Ansible
Containers
- Lecture: Container Essentials
- Lecture + Lab: Creating a Docker Image
Pod Basics
- Lecture: YAML
- Lecture: Manifests
- Lecture + Lab: Basic Pods
- Lecture: Namespaces
- Lecture + Lab: Namespaces
- Lecture: API Versioning and Deprecations
Kubectl
- Lecture: Kubectl get and sorting
- Lecture + Lab: kubectl get
Resource Management
- Lecture + Lab: Kubectl Top and Application Monitoring
- Lecture: Limits, Requests, and Namespace ResourceQuotas
- Lecture + Lab: Resource Requests and Limits
- Lecture + Lab: Namespace Resource Quota
- Lecture: Admission Controller
- Lecture + Lab: Create a LimitRange AdmissionController
User Administration
- Lecture: Contexts
- Lecture + Lab: Contexts
- Lecture: Role Based Access Control
- Lecture + Lab: Role Based Access Control
- Lecture + Lab: RBAC Distributing Access
Advanced Pod Design
- Lecture: Readiness and Liveness Probes
- Lecture + Lab: Implement Probes and Health Checks
- Lecture: ConfigMaps and Volume Mounting
- Lecture + Lab: Persistent Configuration with ConfigMaps
- Lecture: Secrets
- Lecture + Lab: Create and Consume Secrets
- Lecture: Multi-Container Pods
- Lecture + Lab: Creating Ephemeral Storage For Fluentd Logging Sidecar
- Lecture: Init Containers
- Lecture + Lab: Understand the Init Container Multi-Container Pod Design Pattern
- Lecture: Taints, Tolerations, and Pod Affinity
- Lecture + Lab: Tainted Nodes and Tolerations
Logging
- Lecture: Logging with kubectl log
- Lecture + Lab: Utilize Container Logs
- Lecture: Advanced Logging Techniques
Labels
- Lecture: Labels
- Lecture + Lab: Labels and Selectors
- Lecture: Annotations
- Lecture + Lab: Insert an Annotation
Replica and Daemon Sets
- Lecture: ReplicaSets
- Lecture + Lab: Create and Configure a ReplicaSet
- Lecture: DaemonSets
Deployments
- Lecture: Deployments - Purpose and Advantages
- Lecture + Lab: Writing a Deployment Manifest
- Lecture: Deployments - Version Control
- Lecture + Lab: Performing Rolling Updates and Rollbacks with Deployments
- Lecture: Blue/Green and Canary Deployment Strategies
- Lecture + Lab: Advanced Deployment Strategies
- Lecture: Deployments - Horizontal Scaling
- Challenge: Horizontal Pod Autoscaling
Persistent Storage
- Lecture: Persistent Volumes, Claims, and StorageClasses
- Lecture + Lab: Using PersistentVolumeClaims for Storage
- Lecture: PVC, PV, and StorageClass config
- Lecture + Lab: Persistent Storage with NFS
Services & Networking
- Lecture: NetworkPolicy
- Lecture + Lab: Deploy a NetworkPolicy
- Lecture + Lab: Namespace Network Policy
- Lecture: Services - LoadBalancer, NodePort, and ClusterIP
- Lecture + Lab: Access to applications via services
- Lecture: Networking Plugins
- Lecture: Ingress Controllers
- Lecture + Lab: Ingress Controllers Expose a Service
DNS
- Lecture: Hostnames and FQDNs
- Lecture + Lab: Hostnames and FQDNs
- Lecture: CoreDNS
- Lecture + Lab: Install CoreDNS
- Lecture: Configure CoreDNS
- Lecture + Lab: Configure CoreDNS
- Lecture + Lab: Revert CoreDNS to KubeDNS
The primary audience for this course is as follows:
- Professionals who need to maintain or set up a Kubernetes cluster
- Container Orchestration Engineers
- DevOps Professionals