Upon completion of the course, participants will be able to understand container orchestration, implement Kubernetes, create clusters using Kubernetes as well as deploy and manage applications using Kubernetes.
Linux systems administrators and developers.
Good knowledge of Linux and Docker.
- Introduction to Kubernetes: overview of containers, containers without orchestration, features of orchestration, Kubernetes orchestrators, Kubernetes Versions and API distributions, Kubernetes resources.
- First steps with Kubernetes: local installation using minikube (test with microK8), dashboard, CLI and API, container startup, exposing the startup application.
- Pods: pod model/concept, yaml and json descriptors, organizing pods with labels, selectors and namespaces, pod lifecycle, Init Containers.
- Replicates: probs, Replication Controllers vs Replica Sets, Daemon Sets d. Jobs.
- Services: concept of services, internally exposing a cluster, exposing an external service, exposing services to an external application: Ingress vs. LoadBalancer Sonde Readiness, headless service.
- Volume: overview of Volumes, simple data sharing between 2 containers of a single pod, accessing the fs of a cluster node, Persistent Volumes and Persistent Volumes Claims
- Configuration and secrets: Environment variables, ConfigMaps, Secrets
- Deployment strategies: availability of a new pod version, Rolling Update
- Statefulsets: principles
- Architecture and components
- Functions required for business: resource management, auto-scaling
- Development of compatible applications: applications compatible with Kubernetes, Helm for simplifying deployment, alternatives to Helm