Kubernetes Application Developer (CKAD)
Descrizione
Il Corso Kubernetes Developers CKAD è progettato per insegnare come utilizzare Kubernetes per distribuire, scalare e gestire le applicazioni containerizzate. Gli obiettivi del corso includono la comprensione dell’architettura e dei componenti di Kubernetes, l’interazione con un cluster Kubernetes tramite kubectl, l’uso di manifesti YAML per definire e distribuire applicazioni, l’implementazione di servizi di rete per esporre le applicazioni, la gestione dello storage per i dati delle applicazioni, l’implementazione di best practice di sicurezza e accesso, l’integrazione di Kubernetes con i processi di Continuous Integration e Continuous Deployment (CI/CD) e, infine, la preparazione per l’esame di Certificazione Kubernetes Application Developer CKAD.
Target
Questo corso è rivolto agli ingegneri Kubernetes, agli ingegneri cloud e ad altri professionisti IT responsabili della creazione, distribuzione e configurazione di applicazioni cloud native con Kubernetes.
Prerequisiti
Conoscenza di base runtime dei container e dell'architettura dei microservizi.
Programma Corso
Kubernetes Architecture
- Introduction to Kubernetes Architecture
- Components of Kubernetes
- Challenges
- The Borg Heritage
- Kubernetes Architecture
- Terminology
- Control Plane Node
- Control Plane Node Components
- Worker Nodes
- Pods
- Services
- Operators
- Single IP per Pod
- Networking Setup
- API Call Flow
- CNI Network Configuration File
- Pod-to-Pod Communication
- Cloud Native Computing Foundation (CNCF)
- Resource Recommendations
Build
- Introduction to Build
- Build
- Container Options
- Container Runtime Interface (CRI)
- containerd
- CRI-O
- Docker
- rkt
- Containerizing an Application
- Rewrite Legacy Applications
- Creating the Dockerfile
- Hosting a Local Repository
- Creating a Deployment
- Running Commands in a Container
- Multi-Container Pod
- readinessProbe, liveness Probe, and startupProbe
- Testing
- Helm
Design
- Introduction to Design
- Design
- Traditional Applications – Considerations
- Decoupled Resources
- Transience
- Flexible Framework
- Managing Resource Usage
- Using Label Selectors
- Multi-Container Pods
- Sidecar, Adapter, Ambassador, and initContainers
- Custom Resource Definitions
- Points to Ponder
- Jobs
Deployment Configuration
- Introduction to Deployment Configuration
- Deployment Configuration
- Volumes Overview
- Introducing Volumes
- Volume Spec
- Volume Types
- Shared Volume Example
- Persistent Volumes and Claims
- Phases to Persistent Storage
- Persistent Volume
- Persistent Volume Claim
- Dynamic Provisioning
- Secrets
- Using Secrets via Environment Variables
- Mounting Secrets as Volumes
- Portable Data with ConfigMaps
- Using ConfigMaps
- Deployment Configuration Status
- Scaling and Rolling Updates
- Deployment Rollbacks
Understanding Security
- Introduction to Understanding Security
- Security
- Accessing the API
- Authentication
- Authorization
- RBAC and the RBAC Process Overview
- Admission Controller
- Security Contexts
- Pod Security Policies (PSPs)
- Pod Security Standards
- Network Security Policies
- Network Security Policy Example
- Default Policy Example
Exposing Applications
- Introduction
- Introduction to Exposing Applications
- Exposing Applications
- Service Types
- Services Diagram
- Service Update Pattern
- Accessing an Application with a Service
- Service Without a Selector
- ClusterIP
- NodePort
- LoadBalancer
- ExternalName
- Ingress Resource
- Ingress Controller
- Service Mesh
Application Troubleshooting
- Troubleshooting
- Basic Troubleshooting Steps
- Ongoing (Constant) Change
- Basic Troubleshooting Flow: Pods
- Basic Troubleshooting Flow: Node and Security
- Basic Troubleshooting Flow: Agents
- Monitoring
- Logging Tools
- Monitoring Applications
- System and Agent Logs
Attività Laboratoriali
- How to connect to lab
- Work with the cluster
- Imperative and declarative
- API
- Namespace
- Labels
- Running Pods
- Pod Lifecycle
- Implementing container probes
- System Pods and Controllers
- Create Deployment
- Create Deployment-Replicaset
- Update a Deployment
- Rolling back a Deployment
- Scaling a Deployment
- Running Multi-container Pods
- Running Sidecar Containers
- Running Adapter Containers
- Storage Static Provisioning
- Storage Dynamic Provisioning
- Environment Variables
- Secrets
- Private Container Registry
- ConfigMap
- Services
- Service Discovery
- Ingress
- Logging
- Troubleshooting Workloads
- Authentications
- Manage Authorizations
- kubeconfig and context
- RBAC
Certificazione
Certified Kubernetes Application Developer CKAD