Are you working with Kubernetes already, but still find yourself keen for clarification around advanced concepts such as deploying stateful apps or managing capacity and compute resources? Learn this and more on our Advanced Kubernetes Concepts course with expert Jérôme Petazzoni.
This course has been developed by Jérôme Petazzoni, who was part of the team that created Docker. He has been teaching Docker ever since Docker existed, then Swarm, then Kubernetes.
This is an expanded course covering increasingly complex topics. Content has been curated on each topic to the very essential concepts, without encumbering students with all the extra sugar that can be distracting. Students will leave with the ability to understand how things work, what each option and flag is doing, instead of including a random annotation or option by sheer copy paste.
On the practical side, Jérôme will provision k8s clusters for the students and the first thing they do is SSH into a lab environment and directly interact with Kubernetes. Students are not spending time on the "grunt work" of tediously copy-pasting configuration and YAML.This is a hands-on course that favors work that actually illustrates Kubernetes' complex concepts and provokes "aha!" moments.
Learn how to:
Deploy on Kubernetes beyond kubectl generators and static YAML manifests
Manage capacity and compute resources on Kubernetes
Set permissions on user and network level on Kubernetes
Deploy stateful apps on Kubernetes with stateful sets and persistent volumes
Packaging applications with Kustomize and Helm
- Deploying a microservices app with YAML manifests
- Kustomize and Helm concepts; when to use which?
- Writing and applying Kustomize overlays
- Installing charts with Helm
- Helm 2, Helm 3, and the Helm Hub
- Writing a basic Helm chart for the whole app
- Writing advanced Helm charts for app components
- Helm internals
Capacity management and Kubernetes operators
- Setting compute resource limits
- Manage cluster allocation and quotas
- What happens when the cluster is at, or over, capacity
- The core metrics pipeline
- Extending the Kubernetes API
- Isolating workloads with Network Policies
- Authentication with tokens and certificates
- Authorization with RBAC (role-based access control)
- Working with Service Accounts, Roles, Role Bindings
- Preventing privilege escalations with Pod Security Policy
- User management with OIDC, certificates, the CSR API
Application configuration and stateful apps
- Configuring applications with ConfigMaps and Secrets
- Using the downward API to expose information
- Deploying apps with Stateful Sets (use case: Consul)
- The difference between volumes and Persistent Volumes
- Understanding Persistent Volume Claims and Storage Classes
- Local persistent volumes vs highly available persistent volumes
- Example: deploying a database that can withstand node outages
This is an advanced Kubernetes course for devs, ops, or even architects, who have started working with Kubernetes, and want to dive deeper and learn advanced concepts around application packaging, capacity planning, resource management, security, operators, and the specific mechanisms associated with stateful application deployment like databases.
To make the most of this course, you need to have a basic understanding of Kubernetes fundamentals. You need to know:
- what is a Pod, a Deployment, a Service;
- how to deploy an app and expose it on a Kubernetes cluster;
- basic notions of what are labels, selectors, YAML manifests.