Take your Kubernetes knowledge from theory to practice. Learn how to use Kubernetes to develop and run real-world applications.
Overview
Syllabus
Introduction
- Kubernetes for developers
- Getting started with Kubernetes
- Running a local Kubernetes cluster with Minikube
- Running your first container
- Serving from your Pod
- Exposing your Pod to the outside world
- Handling ingress in Kubenetes
- Taking a look around with kubectl
- Viewing logs for pods
- Remotely executing commands
- A web view of the cluster with the Kubernetes Dashboard
- Orchestrating real-world workloads with deployments and StatefulSets
- Safe upgrades with rolling updates and rollbacks
- Batch processing with jobs and CronJobs
- Ensuring availability with liveness and readiness probes
- Managing resource usage with requests and limits
- The scheduler and influencing container placement
- Node affinity and anti-affinity
- The Horizontal Pod Autoscaler (HPA)
- Providing configuration with ConfigMaps
- Supplying sensitive data with Secrets
- Keeping secure with network policies
- Role-based access control in Kubernetes
- Working with RBAC
- Namespaces in Kubernetes
- Working with namespaces
- Adding functionality with sidecars
- Adding a service mesh using sidecars
- Analyzing traffic with Linkerd
- Extending Kubernetes with operators and Custom Resource Definitions
- Tools for DRY deployments: Motivation
- Tools for DRY deployments: Helm
- Tools for DRY deployments: Kustomize
- Tools for DRY deployments: Advice
- Advanced Debugging: kubectl debug
- Advanced Debugging: nixery.dev
- Advanced Debugging: kubectl sniff
- Just like being there: skaffold
- Just like being there: telepresence
- Running your clusters
- Where to find additional information
Taught by
Matt Turner