Titolo del modulo: dgt_k8s07 – Container engine e runtime
Descrizione del modulo:
“Container engine e runtime” tratta le tecnologie per container usate nelle pratiche DevOps. Il modulo esplora il funzionamento interno di container engine e runtime come Docker, Podman, Containerd e CRI-O.
Una volta capito in cosa differiscono questi engine, li metterete al lavoro in linguaggio naturale. Chiederete alla macchina di costruire un’immagine, eseguirla con Docker e poi con Podman, ispezionarla tramite Containerd o configurare un nodo Kubernetes per usare CRI-O, e verificherete cosa è successo davvero: quale processo possiede il container, se è coinvolto un daemon, con quale runtime sta parlando il kubelet. I Dockerfile e i comandi li scrive la macchina; capirli e validarli è compito vostro.
Obiettivi di apprendimento principali:
-
Comprendere il panorama: Capire come la containerizzazione ha cambiato lo sviluppo e il deploy del software. Esplorare perché i container sono diventati essenziali per creare ambienti coerenti nelle diverse fasi del ciclo di vita delle applicazioni.
-
Fondamenti di Docker: Conoscere Docker, che ha definito lo standard nella tecnologia dei container con il Dockerfile, un file di configurazione che specifica come assemblare un’immagine container. Capire come l’ampia diffusione di Docker abbia influenzato l’ecosistema dei container.
-
Esplorare alternative ed evoluzioni:
- Podman: Conoscere Podman, un progetto open source di Red Hat pensato come sostituto diretto di Docker, con un’architettura daemonless che migliora sicurezza e flessibilità.
- Containerd: Approfondire Containerd, nato dalla community Docker come container runtime minimalista orientato a semplicità e prestazioni, che svolge un ruolo cruciale in orchestratori come Kubernetes.
-
CRI-O: Esaminare CRI-O, creato appositamente per Kubernetes, che offre un’implementazione leggera della Container Runtime Interface (CRI) di Kubernetes e privilegia l’integrazione con l’ecosistema Kubernetes nativo.
-
Analisi comparativa: Confrontare queste tecnologie per comprenderne caratteristiche, vantaggi e casi d’uso specifici. Analizzare come ciascun engine risponde alle diverse esigenze organizzative in termini di sicurezza, scalabilità e compliance.
-
Pratica in linguaggio naturale: Lavorare in laboratori in cui istruite la macchina a eseguire e gestire container con ciascuno di questi runtime, per poi revisionare i comandi e le definizioni di immagine che produce e confermarne il risultato. Queste esercitazioni allenano a guidare e controllare il deploy di applicazioni containerizzate in scenari reali.
-
Tendenze future: Panoramica delle tendenze e degli sviluppi emergenti nell’ecosistema dei container.
Destinatari:
Questo modulo è rivolto a professionisti IT, DevOps engineer, amministratori di sistema, sviluppatori software e chiunque lavori con le tecnologie di containerizzazione. Non è richiesta esperienza pregressa con i container, ma una conoscenza di base dei sistemi Linux vi aiuterà a seguire ciò che la macchina fa per vostro conto.
Al termine di questo modulo, i partecipanti conosceranno i principali container engine e runtime, il che permetterà loro di prendere decisioni informate sulle soluzioni container nelle proprie organizzazioni e di guidare la macchina nella loro implementazione.
Gli studenti possono caricare i propri esercizi nel Progetto Git dell’Academy DevOps & SRE. Per questo modulo, create una cartella con il vostro username come nome nella seguente sottocartella: https://github.com/Garanti-Del-Talento/gdt_academy
