Course Overview
This four-day course is the first step in learning about Containers and Kubernetes Fundamentals and Cluster Operations. Through a series of lectures and lab exercises, the fundamental concepts of containers and Kubernetes are presented and put to practice by containerizing and deploying a two-tier application into Kubernetes.
Who should attend
Anyone who is preparing to build and run Kubernetes clusters
Certifications
This course is part of the following Certifications:
Prerequisites
- Linux concepts and command line proficiency
 - General networking proficiency
 
Course Objectives
By the end of the course, you should be able to meet the following objectives:
- Build, test, and publish Docker container images
 - Become familiar with YAML files that define Kubernetes objects
 - Understand Kubernetes core user-facing concepts, including pods, services, and deployments
 - Use kubectl, the Kubernetes CLI, and become familiar with its commands and options
 - Understand the architecture of Kubernetes (Control plane and its components, worker nodes, and kubelet)
 - Learn how to troubleshoot issues with deployments on Kubernetes
 - Apply resource requests, limits, and probes to deployments
 - Manage dynamic application configuration using ConfigMaps and Secrets
 - Deploy other workloads, including DaemonSets, Jobs, and CronJobs
 - Learn about user-facing security using SecurityContext, RBAC, and NetworkPolicies
 
Course Content
Course Introduction
- Introductions and objectives
 
Containers
- What and Why containers
 - Building images
 - Running containers
 - Registry and image management
 
Kubernetes Overview
- Kubernetes project
 - Plugin interfaces
 - Building Kubernetes
 - Kubectl CLI
 
Beyond Kubernetes Basics
- Kubernetes objects
 - YAML
 - Pods, replicas, and deployments
 - Services
 - Deployment management
 - Rolling updates
 - Controlling deployments
 - Pod and container configurations
 
Kubernetes Networking
- Networking within a pod
 - Pod-to-Pod Networking
 - Services to Pods
 - ClusterIP, NodePort, and LoadBalancer
 - Ingress controllers
 - Service Discovery via DNS
 
Stateful Applications in Kubernetes
- Stateless versus Stateful
 - Volumes
 - Persistent volumes claims
 - StorageClasses
 - StatefulSets
 
Additional Kubernetes Considerations
- Dynamic configuration
 - ConfigMaps
 - Secrets
 - Jobs, CronJobs
 
Security
- Network policy
 - Applying a NetworkPolicy
 - SecurityContext
 - runAsUser/Group
 - Service accounts
 - Role-based access control
 
Logging and Monitoring
- Logging for various objects
 - Sidecar logging
 - Node logging
 - Audit logging
 - Monitoring architecture
 - Monitoring solutions
 - Octant
 - VMware vRealize® Operations Manager™
 
Cluster Operations
- Onboarding new applications
 - Backups
 - Upgrading
 - Drain and cordon commands
 - Impact of an upgrade to running applications
 - Troubleshooting commands
 - VMware Tanzu™ portfolio overview