Corso Kubernetes Fundamental
Corso Kubernetes Fundamental:
Kubernetes è definita una piattaforma open-source per l’orchestrazione delle applicazioni containerizzate. Noto comunemente come K8s, Kubernetes consente di automatizzare molti processi manuali del deploy, consente la gestione dei carichi di lavoro e la gestione dei servizi containerizzati.
Kubernetes deriva dal greco kybernetes [κυβερντης] che significa “pilota di una nave”. Da questo nome deriva anche il suo logo che ha l’immagine di un timone. K8s è uno strumento che aiuta a “navigare” nel mare complicato delle applicazioni containerizzate e del cloud computing. Nasce nel 2014 come progetto interno ed open-source di Google. Oggi viene gestito da Cloud Native Computing Foundation.
Kubernetes viene usato nella creazione e gestione dei cluster che a sua volta sono costituiti da uno o più nodi.
K8s nasce e si evolve seguendo il passaggio dal deployment tradizionale (eseguire applicazioni su server fisici), al deployment virtualizzato (eseguire più macchine virtuali su una stessa CPU fisica) al deployment in container.
Kubernetes è costituito da componenti. Ogni cluster deve avere almeno un Worker Node, gestito a sua volta da un Control Plane. Inoltre tra i componenti del Control Plane abbiamo:
- kube-apiserver
- etcd
- kube-scheduler
- kube-control-manager
- cloud-controller-manager
Invece tra le componenti de Worker Node troviamo:
- kubelet
- kube-proxy
- container-runtime
In ultimo ci sono le API di Kubernetes. Poichè ogni sistema ha bisogno di evolversi, anche le API di Kubernetes sono destinate a cambiare ed estendersi. Cosi come a deprecarsi. L’eliminazione di risorse o campi deve seguire la politica di deprecazione delle API.
Obiettivi del Corso Kubernetes Fundamental:
formare lo studente per:
- installare, configurare ed amministrare un cluster Kubernetes su macchina locale
- scrivere ed applicare files di configurazione per tutti i maggiori oggetti Kubernetes
- compiere il deployment e l’amministrazione di un proprio applicativo su cluster
Kubernetes - configurare e pacchettizzare applicativi in Kubernetes
Requisiti per i discenti Corso Kubernetes Fundamental:
corso rivolto a Sistemisti, Progettisti e Amministratori di applicativi distribuiti;
requisiti hardware:
- PC dedicato o Macchina Virtuale
◦ 2 CPU o Cores
◦ 6 GB RAM
◦ 100+ GB HD - Linux Ubuntu o simili (pacchetti APT)
Per altri corsi in ambito microservizi clicca QUI.
Corso Kubernetes Fudamental attivabile solo per le aziende e su richiesta.
Modalità virtual classroom online in diretta (o frontale in-house).
Programma Corso Kubernetes Fundamental (32 ore)
1. Introduzione e Docker
• Microservizi e distribuzione globale
• Contenitori e Docker
• Architettura di Docker
• Uso delle immagini e contenitori in Docker
• Inserimento di un applicativo in un contenitore
• Orchestrazione locale con Docker Compose
• Requisiti hardware e software
2. Fondamenti di Kubernetes
• Origini, evoluzione e scopo di Kubernetes
• Orchestrazione remota e Cluster
• Funzionalità del Master e dei Nodi
• Clients: Docker Desktop e ‘kubectl’
• Emulatori di cluster per PC
• Minikube
• Installazione ed uso di Minikube
• Comandi Minikube e Add-ons
• Principali oggetti di Kubernetes
• Modalità imperativa e dichiarativa
• Manifest e files di configurazione YAML
• Gestione di Pods
• Replicaset e Deployment
• Servizi e loro tipi
3. Kubernetes in Docker (Kind)
• Progetto di cluster Kind
• Oggetti Kubernetes in Kind
• Configurazione di un Repository di immagini in locale
• Installazione di un Load Balancer
• ConfigMaps e Secrets
4. Namespaces e Storaggio
• Refactoring e automatizzazione di Kind
• Spazi nomi ed organizzazione
• Il problema dello storaggio esterno al cluster
• Persistent Volumes e Persistent Volume Claims
5. Aspetti Avanzati I
• DaemonSet e StatefulSet
• Gestione di Deployment e Rollout
• Kubernetes Jobs
• Labels ed Annotazioni
• Controllo di Accesso
6. Aspetti Avanzati II
• Kubernetes e Networking
• Configurazione di Ingress
• Controllo di Sanità e Probes
• Monitoraggio e Autoscaling
7. Helm fondamenti
• Architettura e installazione
• Pacchetti e Charts
• Generazione di un Chart
8. Helm avanzato
• Template
• Charts complessi
• Gestione di Repositories
• Helm Plugins e Starters