Kubernetes Administrator (CKA)
Descrizione
Il corso Kubernetes Administrator CKA è strutturato per offrire ai partecipanti una profonda comprensione e abilità pratiche nell'utilizzo di Kubernetes. Il corso affronta vari aspetti come l'architettura di Kubernetes, l'installazione e configurazione di un cluster, la gestione di applicazioni containerizzate, la creazione di servizi di rete e storage, e l'utilizzo di strumenti di monitoraggio e di registrazione. Inoltre, si esplorano strategie di sicurezza e meccanismi di autoscaling. Il corso contribuisce alla preparazione dell'esame per la Certificazione Kubernetes Administrator (CKA).
Prerequisiti
Competenze sistemistiche e di networking di base.
Programma Corso
Basics of Kubernetes
- Basics of Kubernetes
- What Is Kubernetes?
- Components of Kubernetes
- Challenges
- Other Solutions
- Borg Heritage
- Kubernetes Architecture
- Terminology
- Innovation
- User Community
- Tools
- Cloud Native Computing Foundation (CNCF)
- Resource Recommendations
Installation and Configuration
- Installation Tools
- Installing kubectl
- Using Google Kubernetes Engine (GKE)
- Using Minikube
- Installing with kubeadm
- kubeadm-upgrade
- Installing a Pod Network
- More Installation Tools
- Installation Considerations
- Main Deployment Configurations
- Compiling from Source
Kubernetes Architecture
- Main Components
- Control Plane Node
- Worker Nodes
- Kubelet
- Operators
- Service Operator
- Pods
- Rewrite Legacy Applications
- Containers
- Init Containers
- Component Review
- API Call Flow
- Node
- Single IP per Pod
- Container to Outside Path
- Services
- Networking Setup
- CNI Network Configuration File
- Pod-to-Pod Communication
Apis and Access
- APIs and Access
- API Access
- RESTful
- Checking Access
- Optimistic Concurrency
- Using Annotations
- Simple Pod
- Manage API Resources with kubectl
- Access from Outside the Cluster
- ~/.kube/config
- Namespaces
- Working with Namespaces
- API Resources with kubectl
- Additional Resource Methods
- Swagger and OpenAPI
- API Maturity
Api Objects
- API Objects
- Overview
- v1 API Group
- Discovering API Groups
- Deploying an Application
- DaemonSets
- StatefulSets
- Autoscaling
- Jobs
- RBAC
Managing State with Deployments
- Deployments
- Object Relationship
- Deployment Details
- Deployment Configuration Metadata
- Deployment Configuration Spec
- Deployment Configuration Pod Template
- Deployment Configuration Status
- Scaling and Rolling Updates
- Deployment Rollbacks
- Using DaemonSets
- Labels
Volumes and Data
- Introducing Volumes
- Volume Spec
- Volume Types
- Shared Volume Example
- Persistent Volumes and Claims
- Persistent Volume
- Persistent Volume Claim
- Dynamic Provisioning
- Using Rook for Storage Orchestration
- Secrets
- Using Secrets via Environment Variables
- Mounting Secrets as Volumes
- Portable Data with ConfigMaps
- Using ConfigMaps
Services
- Service Update Pattern
- Accessing an Application with a Service
- Service Types
- Service Types (Continued)
- Services Diagram
- Overall Network View
- Local Proxy for Development
- DNS
- Verifying DNS Registration
Helm
- Helm
- Deploying Complex Applications
- Helm v3
- Chart Contents
- Templates
- Chart Repositories and Hub
- Deploying a Chart
Ingress
- Ingress Controller
- nginx
- Google Load Balancer Controller (GLBC)
- Ingress API Resources
- Deploying the Ingress Controller
- Creating an Ingress Rule
- Multiple Rules
- Intelligent Connected Proxies
Scheduling
- kube-scheduler
- Filtering (Predicates)
- Scoring (Priorities)
- Scheduling Policies
- Pod Specification
- Specifying the Node Label
- Scheduler Profiles
- Pod Affinity Rules
- podAffinity Example
- podAntiAffinity Example
- Node Affinity Rules
- Node Affinity Example
- Taints
- Tolerations
- Custom Scheduler
Logging and Troubleshooting
- Basic Troubleshooting Steps
- Ephemeral Containers
- Cluster Start Sequence
- Monitoring
- Using krew
- Managing Plugins
- Sniffing Traffic With Wireshark
- Logging Tools
- Understanding Fluentd
- Understanding Prometheus and Grafana
- More Resources
Custom Resource Definitions
- Configuration Example
- New Object Configuration
- Optional Hooks
- Understanding Aggregated APIs
Security
- Cloud Security Considerations
- Accessing the API
- Authentication
- Authorization
- RBAC and Webhook Modes
- Admission Controller
- Security Contexts
- Pod Security Policies
- Network Security Policies
- Network Security Policy Example
- Default Policy Example
High Availability
- High Availability
- Cluster High Availability
- Collocated Databases
- Non-Collocated Databases
Attività Laboratoriali
- How to connect to lab
- Install Kubernetes
- Work with the cluster
- Imperative and declarative
- API
- API Discovery
- Anatomy API Request
- Namespace
- Labels
- Running Pods
- Running Multi-container Pods
- Pod Lifecycle
- Implementing container probes
- System Pods and Controllers
- Create Deployment
- Create Deployment-Replicaset
- Update a Deployment
- Rolling back Deployment
- Scaling a Deployment
- Creating a Daemonset
- Executing Jobs and CronJobs
- Storage Static Provisioning
- Storage Dynamic Provisioning
- Environment Variables
- Secrets
- Private Container Registry
- ConfigMap
- Scheduling
- Scheduling with Affinity and Antiaffinity
- Node Cordoning
- Calico CNI Plugin
- Configure CoreDNS
- Services
- Service Discovery
- Ingress
- ETCD
- Upgrade Kubernetes
- Logging
- JSONpath
- Monitoring with Metric Server
- Troubleshooting Node failures
- Troubleshooting Control Plane failures
- Troubleshooting Workloads
- Authentications
- Manage Authorizations
- PKI on controller
- Create a certificate for a new user
- kubeconfig and context
- RBAC
Certificazione
Certified Kubernetes Administrator CKA