Part 1 : DevOps, Containerization with Podman & Docker and Best Practices (14 labs)
- Introduction to DevOps and Cloud Native Computing
- Modern IT & its Challenges
- DevOps as a Solution
- The 12 Factor App Methology
- From Cloud Computing to Cloud Native Computing
- Formal Definition
- Introduction to Containers
- Why Containers?
- Container Implementations
- Docker & Podman
- Getting Started with Containers (2 labs)
- Installing Podman (1 lab)
- Starting your First Container (1 lab)
- Dissecting Containers aka Containers without Docker & Podman
- Managing Container Lifecycle (6 labs)
- Managing & Inspecting Containers (2 labs)
- Persistent Volumes (2 labs)
- Container Networking (2 labs)
- Managing Container Image Lifecycle (1 lab)
- Container Image Implementation
- Managing & Inspecting Images (1 lab)
- Creating Images the Quick'n'Dirty way
- Containers for Production (2 labs)
- Container based Systemd Services (1 lab)
- Systemd based Containers (1 lab)
- Container Orchestration
- Container Image Authoring (2 labs)
- The Podman Way aka Introducing Buildah (1 lab)
- The Docker Way aka Dockerfile Authoring (1 lab)
- Best Practices (1 lab)
- Working with Base Images
- Minimizing Layers
- RUN The Right Way
- Speeding Up Slow Builds
- Multi-Stage Builds (1 lab)
Part 2 : Kubernetes Implementation and Best Practices (25 Labs)
- Introduction to DevOps and SRE
- SRE or the new « Industrial Revolution »
- SRE as an Actionable DevOps Implementation
- SRE Culture & Practice
- Container orchestration (1 lab)
- Container Management Systems Limitations
- Kubernetes Architecture
- introduction
-
- masters/nodes
- etcd
- kube-apiserver
- kubelet
- kube-proxy
- controller manager
- kube scheduler
- Design and install a Kubernetes cluster (1 lab)
- Kubernetes command-line tools (3 labs)
- Imperative vs declarative
- Kubectl (2 labs)
- Krew
- Kube ns
- kube ctx
- Stern
- K9s (1 lab)
- Kubernetes Core concepts (6 labs)
- Namespaces (1 lab)
- Pod and Multi-container Pods (1 lab)
- Labels and Selectors (1 lab)
- Replication controllers / ReplicaSets (1 lab)
- Deployments (Rolling Updates and Rolling Back) (1 lab)
- ConfigMaps and Secrets (1 lab)
- Kubernetes Networking (3 labs)
- Docker Networking
- Cluster Networking
- Pod Networking (1 lab)
- Service Networking (1 lab)
- CoreDNS in Kubernetes
- Ingress (1 lab)
- Scheduling (2 labs)
- Manual Scheduling
- Taints and tolerations
- Node labels and Selectors
- Node Affinity
- Static Pods
- DaemonSets (1 lab)
- Jobs and Cronjobs (1 lab)
- Kubernetes and Storage (3 labs)
- Persistent Volumes and Persistent Volume Claims (2 labs)
- Dynamic Provisioning with StorageClass (1 lab)
- Kubernetes Security (5 labs)
- Role Based Access Control (1 lab)
- Service Accounts (1 lab)
- Security Contexts (1 lab)
- Resource Quotas (1 lab)
- Network Policy (1 lab)
- Logging and Monitoring (2 labs)
- Introducing Helm & Operators
- Setting up the EFK stack – Elasticsearch Fluentd Kibana (1 lab)
- Monitoring Cluster Components
- Setting up the GAP stack - Grafana Alertmanager Prometheus (1 lab)
Part 3 : Helm Best Practices (18 Labs)
- Introduction
- Automating Kubernetes
- Ansible, Helm and Operators
- Helm Architecture
- Getting Started with Helm (2 labs)
- Helm Concepts
- Helm Commands (1 lab)
- Helm User Workflow (1 lab)
- Creating Helm Charts (1 lab)
- Chart Structure
- Scaffolding a Helm Chart
- Creating a Helm Chart (1 lab)
- Creating Umbrella Charts (1 lab)
- Umbrella Chart Structure
- Managing Umbrella Charts (1 lab)
- Using Helm Templates (4 labs)
- Go Templating Overview
- Templating in Helm (1 lab)
- Using Variables (1 lab)
- Calling Templating Functions (1 lab)
- Implementing Flow Control (1 lab)
- Advanced Helm Techniques (2 labs)
- Using Global Variables and Subcharts (1 lab)
- Sprig Template Functions (1 lab)
- CI/CD with Helm (4 labs)
- Introducing GitOps
- Introducing Cloud Native CI/CD with ArgoCD (1 lab)
- Creating ArgoCD Pipelines (1 lab)
- Calling Helm based ArgoCD Pipelines (1 lab)
- Managing Multi Environment Deployments (1 lab)
- Helm Best Practices (3 labs)
- Introducing DevSecOps and Policy as Code
- Implementing Chart Validation (1 lab)
- Implementing Helm Policy as Code with Checkov and KubeLinter (1 lab)
- Implementing Helm Automated Testing (1 lab)
- Publishing Helm Charts (1 lab)
- Packaging Helm Charts
- Managing Chart Dependencies
- Publishing Helm Charts (1 lab)