Contattataci

Struttura del corso

Giorno 1 – Container e Gestione delle Immagini

Introduzione alle Piattaforme Containerizzate

  • Distribuzione tradizionale delle applicazioni confrontata con la distribuzione basata su container
  • Container e macchine virtuali
  • Runtimes dei container e motori di containerizzazione
  • Il ruolo di Docker, Kubernetes e OpenShift
  • Arcbitetture comuni delle piattaforme containerizzate
  • Flussi di lavoro per sviluppo, test e produzione

Lavorare con i Container

  • Esecuzione e gestione dei container
  • Ciclo di vita del container
  • Avvio, arresto ed eliminazione dei container
  • Esecuzione di comandi all'interno dei container
  • Variabili d'ambiente
  • Mappatura delle porte
  • Log dei container
  • Utilizzo delle risorse e ispezione dei processi

Creazione di Immagini di Container

  • Struttura e layer delle immagini
  • Creazione di Dockerfile e Containerfiles
  • Selezione delle immagini base
  • Aggionamento delle dipendenze dell'applicazione
  • Configurazione dei punti di ingresso e dei comandi
  • Caching delle immagini
  • Riduzione della dimensione delle immagini
  • Creazione di immagini riproducibili

Registri Container

  • Registri pubblici e privati
  • Tagging e versioning delle immagini
  • Pubblicazione e scaricamento delle immagini
  • Autenticazione delle immagini
  • Retention e pulizia delle immagini
  • Considerazioni basilari sulla sicurezza delle immagini

Networking e Storage dei Container

  • Concetti di rete dei container
  • Rete bridge
  • Esposizione delle porte
  • Comunicazione container-to-container
  • Bind mounts e volumi
  • Dati persistenti dei container
  • Considerazioni per il backup

Esercitazioni Pratiche

  • Eseguire ed ispezionare i container
  • Creare un'immagine di un'applicazione
  • Configurare porte e variabili d'ambiente
  • Pubblicare un'immagine su un registro
  • Archiviare dati persistenti al di fuori di un container

Giorno 2 – Architettura di Kubernetes e Carichi di Lavoro

Fondamenti di Kubernetes

  • Lo scopo dell'orchestrazione dei container
  • Architettura di Kubernetes
  • Componenti del piano di controllo
  • Nodi worker
  • API server
  • Scheduler
  • Controller
  • Stato del cluster e stato desiderato
  • Comunicazione con il cluster utilizzando kubectl

Risorse di Kubernetes

  • Pods
  • ReplicaSets
  • Deployments
  • Namespace
  • Etichette e annotazioni
  • Selectors
  • Dichiarazione delle risorse dichiarative
  • Manifests YAML

Deployment delle Applicazioni

  • Creazione e gestione dei Deployments
  • Scalatura dei carichi di lavoro
  • Aggiornamento delle immagini dei container
  • Aggiornamenti rolling
  • Rollback
  • Cronologia dei deployment
  • Riavvio dei carichi di lavoro
  • Gestione delle repliche dell'applicazione

Configurazione delle Applicazioni

  • ConfigMaps
  • Secrets
  • Variabili d'ambiente
  • File di configurazione
  • Separe il codice dell'applicazione dalla configurazione
  • Gestire le impostazioni specifiche per l'ambiente

Gestione delle Risorse

  • Richieste di CPU e memoria
  • Limiti di CPU e memoria
  • Quote di risorsa
  • Limit ranges
  • Implicazioni sullo scheduling
  • Diagnosi dei guasti relativi alle risorse

Esercitazioni Pratiche

  • Deployare un'applicazione containerizzata
  • Creare e aggiornare i manifest di Kubernetes
  • Scalare un'applicazione
  • Eseguire un aggiornamento rolling e un rollback
  • Configurare l'applicazione utilizzando ConfigMaps e Secrets
  • Applicare richieste e limiti delle risorse

Giorno 3 – Networking, Storage e Sicurezza di Kubernetes

Networking di Kubernetes

  • Modello di networking del cluster
  • Comunicazione pod-to-pod
  • Service discovery
  • DNS all'interno del cluster
  • Servizi ClusterIP
  • Servizi NodePort
  • Servizi LoadBalancer
  • Concetti di Ingress
  • Pattern di esposizione delle applicazioni

Network Policies

  • Controllo del traffico tra i carichi di lavoro
  • Regole di ingress ed egress
  • Controllo del traffico basato sui namespace
  • Test della connettività di rete
  • Risoluzione dei problemi di comunicazione dei servizi

Storage Persistente

  • Storage effimero e persistente
  • Volumi
  • PersistentVolumes
  • PersistentVolumeClaims
  • StorageClasses
  • Provisioning dinamico
  • Modalità di accesso
  • Politiche di reclaim
  • Storage per applicazioni stateful

Controllo dell'Accesso in Kubernetes

  • Concetti di autenticazione e autorizzazione
  • Role-Based Access Control (RBAC)
  • Roles e ClusterRoles
  • RoleBindings e ClusterRoleBindings
  • Account di servizio
  • Accesso con privilegio minimo
  • Ispezione dei permessi effettivi

Sicurezza dei Carichi di Lavoro

  • Contesti di sicurezza
  • Esecuzione dei container come utente non-root
  • Capacità Linux
  • Filesystem in sola lettura
  • Gestione dei secrets
  • Provenienza delle immagini
  • Rischi comuni di configurazione

Esercitazioni Pratiche

  • Esporre un'applicazione utilizzando i servizi Kubernetes
  • Configurare l'ingress
  • Limitare il traffico utilizzando una network policy
  • Fornire storage persistente
  • Configurare i permessi RBAC
  • Eseguire un carico di lavoro con un contesto di sicurezza appropriato

Giorno 4 – Lavoro con gli Ambienti OpenShift

Introduzione a OpenShift

  • OpenShift come piattaforma applicativa basata su Kubernetes
  • Risorse Kubernetes in un ambiente OpenShift
  • Architettura del cluster OpenShift
  • Progetti e namespace
  • Utenti della piattaforma e account di servizio
  • Lavoro con la console web
  • Lavoro con l'interfaccia a riga di comando (CLI) di OpenShift

Gestione dei Progetti e dell'Accesso

  • Creazione e gestione dei progetti
  • Assegnazione dei permessi utente
  • Ruoli a livello di progetto
  • Accesso amministrativo
  • Quote di risorsa
  • Limit ranges
  • Account di servizio
  • Revisione delle risorse del progetto

Deployment delle Applicazioni

  • Deploy di immagini containerizzate
  • Creazione di carichi di lavoro applicativi
  • Gestione dei deployment
  • Scalatura delle applicazioni
  • Aggiornamento delle versioni dell'applicazione
  • Rollback
  • Gestione della configurazione dell'applicazione
  • Lavoro con i secrets

Esposizione delle Applicazioni

  • Servizi in OpenShift
  • Routes
  • Concetti TLS
  • Accesso interno ed esterno alle applicazioni
  • Nomi host e certificati
  • Risoluzione dei problemi delle route e dei servizi

Storage in OpenShift

  • Persistent Volume Claims
  • StorageClasses
  • Attaccare lo storage ai carichi di lavoro
  • Carichi di lavoro stateful
  • Permessi di accesso allo storage
  • Risoluzione dei problemi di montaggio dei volumi

Scheduling e Gestione dei Nodi

  • Etichette e selectors
  • Node selectors
  • Taints e tolerations
  • Concetti di affinità e anti-affinità
  • Piazzamento dei carichi di lavoro
  • Cordoning e draining dei nodi
  • Considerazioni per la manutenzione dei nodi

Esercitazioni Pratiche

  • Accedere a un ambiente OpenShift
  • Creare e configurare un progetto
  • Deploy ed esporre un'applicazione
  • Configurare l'accesso utente e dell'account di servizio
  • Attaccare storage persistente
  • Scalare e aggiornare un carico di lavoro in esecuzione

Giorno 5 – Operazioni, Monitoraggio e Risoluzione dei Problemi

Monitoraggio della Piattaforma

  • Monitoraggio della salute del cluster e delle applicazioni
  • Metriche delle risorse
  • Salute dei nodi
  • Stato dei carichi di lavoro
  • Capacità e utilizzo delle risorse
  • Identificazione dei vincoli di prestazione

Logging ed Eventi

  • Log dei container
  • Log dei pods
  • Log precedenti dei container
  • Eventi Kubernetes
  • Messaggi dell'applicazione e della piattaforma
  • Filtraggio e interpretazione dei dati operativi

Health Checks

  • Startup probes
  • Readiness probes
  • Liveness probes
  • Progettazione di endpoint di salute utili
  • Diagnosi dei guasti dei probe
  • Prevenzione dei riavvii non necessari delle applicazioni

Risoluzione dei Problemi dei Carichi di Lavoro

  • Pods in attesa (pending)
  • Guasti nel pull delle immagini
  • Loop di crash
  • Variabili d'ambiente mal configurate
  • Monti falliti
  • Risorse insufficienti
  • Errori di autorizzazione
  • Problemi di connettività dei servizi e delle route
  • Problemi DNS
  • Guasti nell'avvio dell'applicazione

Sicurezza Operativa

  • Revisione dei permessi
  • Utilizzo degli account di servizio
  • Gestione sicura delle credenziali
  • Pratiche di sicurezza delle immagini
  • Isolamento di rete
  • Auditing dell'accesso alla piattaforma
  • Applicazione del principio del privilegio minimo

Manutenzione e Gestione del Ciclo di Vita

  • Controlli di routine della piattaforma
  • Manutenzione dei nodi
  • Considerazioni per il backup delle applicazioni
  • Backup della configurazione
  • Pianificazione degli aggiornamenti
  • Gestione dei cambiamenti
  • Test degli aggiornamenti
  • Pianificazione del rollback
  • Concetti di disaster recovery

Workshop Pratico Finale

I partecipanti completano uno scenario operativo end-to-end:

  • Creare e taggare un'immagine container.
  • Pubblicare l'immagine su un registro.
  • Deployare l'applicazione su Kubernetes o OpenShift.
  • Configurare le impostazioni e le credenziali dell'applicazione.
  • Esporre l'applicazione.
  • Attaccare storage persistente.
  • Configurare i permessi di accesso.
  • Aggiungere health checks.
  • Scalare e aggiornare l'applicazione.
  • Diagnosi e risoluzione di un guasto introdotto.

Formato del Corso

  • Lezioni interattive e discussioni tecniche.
  • Dimostrazioni dell'istruttore.
  • Esercitazioni pratiche estese.
  • Workshop di amministrazione e risoluzione dei problemi basati su scenari.
  • Lavoro pratico in ambienti container, Kubernetes e OpenShift.

Opzioni di Personalizzazione del Corso

  • Il corso può essere adattato all'infrastruttura esistente dei partecipanti, al provider cloud e agli strumenti container utilizzati.
  • Il bilanciamento tra gli argomenti su Docker, Kubernetes e OpenShift può essere regolato in base all'esperienza del team.
  • Gli esercizi pratici possono essere personalizzati in base alle applicazioni dell'organizzazione, ai processi di deployment e ai requisiti operativi.

Avviso sui Marchi

OpenShift è un marchio registrato di Red Hat, Inc. Questa formazione sviluppata in modo indipendente non è affiliata, sostenuta o autorizzata da Red Hat.

Requisiti

I partecipanti dovrebbero avere:

  • Esperienza nell'utilizzo della riga di comando Linux.
  • Conoscenze base di amministrazione di sistema o DevOps.
  • Una comprensione generale dei concetti di networking.
  • Dimestichezza con i processi di rilascio del software.

Un'esperienza precedente con Docker, Kubernetes o OpenShift è utile ma non obbligatoria.

 35 ore

Numero di Partecipanti


Prezzo per partecipante

Recensioni (7)

Corsi in Arrivo

Categorie relative