Struttura del corso
Introduzione
- Obiettivi del corso
- Profilo degli studenti
- La Linux Foundation
- I corsi di formazione della Linux Foundation
- Programmi di certificazione e rilascio delle badge digitali
- Preparazione del sistema operativo
- Registrazione al corso
- Laboratori pratici
Architettura di Kubernetes
- Cos’è Kubernetes?
- Componenti fondamentali di Kubernetes
- Principali sfide legate all’utilizzo di Kubernetes
- Le origini di Kubernetes derivanti dal progetto Borg
- Struttura architettonica di Kubernetes
- Terminologia comune in Kubernetes
- Il nodo Master
- I nodi Minion (Worker)
- I Pod
- I Servizi in Kubernetes
- Controller e Operator
- Ogni Pod ha un indirizzo IP proprio
- Configurazione della rete in Kubernetes
- File di configurazione CNI per la rete
- Comunicazione tra Pod
- La Cloud Native Computing Foundation
- Raccomandazioni sull’utilizzo delle risorse
- Laboratori pratici
Creazione di container e applicazioni
- Opzioni disponibili per la creazione dei container
- Come procedere alla containerizzazione di un’applicazione
- Creazione del file Dockerfile
- Configurazione di un repository locale per i container
- Realizzazione di una configurazione Deployment
- Esecuzione di comandi all’interno dei container
- Uso di Pod composti da più container
- Utilizzo di readinessProbe
- Utilizzo di livenessProbe
- Test preliminari delle applicazioni
- Laboratori pratici
Progettazione di architetture per Kubernetes
- Considerazioni preliminari nella progettazione delle applicazioni tradizionali
- Gestione separata delle risorse dell’applicazione
- Natura temporanea degli elementi di un sistema distribuito
- Creazione di framework flessibili e adattabili
- Ottimizzazione dell’utilizzo delle risorse disponibili
- Impiego dei selettori di etichette (Label Selectors)
- Utilizzo di Pod contenenti più container simultaneamente
- I cosiddetti Container Sidecar
- I Container Adapter utili alla transizione tra tecnologie diverse
- Concetti e utilità legati agli Ambassador
- Aspetti fondamentali da considerare nella progettazione
- Creazione di Jobs automatizzati
- Laboratori pratici
Configurazione e gestione della distribuzione
- Panoramica sui volumi di archiviazione in Kubernetes
- Introduzione ai volumi stessi
- Struttura tecnica dei volumi definiti nella configurazione
- Tipologie di volume disponibili
- Esempio pratico d’utilizzo di un volume condiviso tra diversi elementi
- Concetti chiave su Persistent Volumes e Persistent Volume Claims
- Definizione tecnica di Persistent Volume
- Specifiche strutturali dei Persistent Volume Claim
- Meccanismi per la creazione dinamica e automatica dei volumi in base alle esigenze
- Concetto di Secret e dati sensibili in Kubernetes
- Inserimento delle informazioni riservate tramite variabili d’ambiente
- Montaggio dei dati contenuti nei Secret come volumi esterni
- Strumento ConfigMaps per gestire dati strutturati e trasferibili tra diversi ambienti
- Procedura corretta d’utilizzo di ConfigMaps nei progetti reali
- Monitoraggio delle modifiche apportate alla configurazione di distribuzione
- Meccanismi di scalabilità e aggiornamenti progressivi delle applicazioni
- Procedura corretta per annullare modifiche effettuate tramite rollback
- Laboratori pratici
Sicurezza in Kubernetes
- Panoramica generale sulla sicurezza nei sistemi basati su Kubernetes
- Modalità di accesso all’interfaccia APIdi Kubernetes
- Processi di autenticazione degli utenti e dei servizi
- Meccanismi di autorizzazione previsti da Kubernetes
- Approccio ABAC alla gestione delle policy di sicurezza
- Implementazione del sistema RBAC per la gestione dei permessi
- Flusso operativo tipico nella configurazione basata su RBAC
- Fondamenti relativi ai controller di ammissione per le richieste inviate a Kubernetes
- Contesti di sicurezza da impostare per ogni Pod
- Policy specifiche di controllo della sicurezza dei Pod
- Regole utili a definire il flusso d’accesso alla rete interna o esterna del cluster
- Esempio concreto relativo all’impiego delle policy di sicurezza in ambito di rete
- Specifiche predefinite che definiscono una politica base di utilizzo del sistema
- Laboratori pratici
Pubblicazione e esposizione delle applicazioni al pubblico
- Le diverse tipologie di Servizi disponibili in Kubernetes
- Rappresentazione grafica dei diversi tipi di Servizi presenti in un cluster
- Strategie pratiche per aggiornare dinamicamente i dati contenuti nei Servizi
- Modalità corretta per connettersi a un’applicazione tramite il relativo Serviziodi riferimento
- Configurazione di un Servizio senza l’impiego di selettori specifici
- Tipologia ClusterIP per il reindirizzamento interno degli indirizzi IP all’interno del cluster stesso
- Meccanismo NodePort che consente l’accesso esterno ai container tramite porte specifiche dei nodi fisici
- Utilizzo di LoadBalancer per ottenere un accesso pubblico completamente gestito da sistemi esternidi bilanciamento del carico
- Tipologia ExternalName adatta al collegamento diretto a endpoint esterni già presenti nell’infrastruttura generale
- Strumento Ingress per il controllo unificato di accessi e richieste avanzate verso gli elementi del clusterdi Kubernetes
- Componente specifico noto come Ingress Controller che gestisce in modo centralizzato le logiche legate a Ingress
- Piattaforma Service Mesh utili per ottimizzare il flusso dei dati all’interno di sistemi complessicon diverse componenti interagenti
- Laboratori pratici
Risoluzione dei problemi in un ambiente Kubernetes
- Panoramica generale sul processo di risoluzione degli inconvenientiin ambienti cluster basati su Kubernetes
- Operazioni fondamentali da compiere per identificare e correggere errori comuni
- Gestione e monitoraggio dei mutamenti continui e progressivi nella configurazione del cluster stesso
- Metodo sistematico per diagnosticare problemi legati ai Pod e alla loro esecuzionenel sistema operativo sottostante
- Strategie specifiche rivolte a identificare difficoltà di configurazione riguardanti i nodi hardware e gli elementi legati alla sicurezza complessiva del cluster stesso
- Linee guida utili per diagnosticare disfunzioni o malfunzionamenti dei componenti agenti presenti all’interno dell’infrastruttura generaledi Kubernetes
- Procedure principali legate al monitoraggio costante della salute e dell’andamento di tutti i componenti distribuiti nel cluster stesso
- Strumenti specifici di registrazione dei dati generati dall’utilizzo degli agenti di controllo del sistemae dal traffico di rete in transito attraverso gli elementi fisici e logici dello stesso cluster
- Modalità per monitorare le condizioni operative complessive dei programmi applicativi in esecuzione all’interno del sistemadi Kubernetes
- Esempi concreti di log generati dai componenti di base e dai singoli agenti di controllo operativo presenti nell’infrastruttura globale della rete stessa
- Procedure di verifica formale ed approfondita che consentono di valutare la correttezza e l’aderenza alle specifiche definite per un determinato progettodi applicazione basata su container tecnologici e virtuali
- Elenco indicativo dei risorse aggiuntive e materiali formativi utili a supportare ulteriormente lo studio del sistemae le sue componenti architetturali principali nel contesto pratico delle infrastrutture moderne
- Laboratori praticirelativi alla risoluzione dei problemi più frequenti in ambienti Kubernetes realistici
Riepilogo sugli esami CKADe le competenze verificate da tale certificazione ufficiale
Requisiti
Per trarre il massimo vantaggio da questo corso, è consigliabile possedere:
conoscenze di base riguardo alla riga di comando Linux e alla modifica dei file, nonché familiarità con l’utilizzo di un linguaggio di programmazione (ad esempio Python, Node.js o Go). Si rivelano utili anche nozioni sui concetti e sulle architetture delle applicazioni Cloud Native (come quelle trattate nel nostro corso gratuito su edX Introduzione a Kubernetes).
Si precisa che il corso Kubernetes Administration (LFS458) non rappresenta un prerequisito: i contenuti di entrambi i corsi sono stati progettati per essere indipendenti e si allineano rispettivamente agli esami previsti.
Destinatari
Il corso è rivolto a sviluppatori esperti che desiderano containerizzare, ospitare, distribuire e configurare applicazioni in cluster multi-nodo.
Livello di difficoltà: Intermedio
Recensioni (1)
il formatore ha competenze pratiche
- Osrodek Przetwarzania Informacji - Panstwowy Instytut Badawczy
Corso - Kubernetes for App Developers (LFD459)
Traduzione automatica