Struttura del corso
Modulo 1: Progettazione dei Microservizi
• Un buon confine del microservizio
• Utilizzo della progettazione basata su domini (DDD)
• Alternative ai confini di dominio aziendale (Volatilità, Dati, Tecnologia, Organizzazione)
• Suddivisione del monolite
• Decomposizione prematura
• Decomposizione per livello
• Utilizzo di pattern di decomposizione (Strangler, Parallel Run, Feature Toggle)
• Preoccupazioni sulla decomposizione dei dati (Prestazioni, Integrità, Transazioni)
Modulo 2: Ottimizzazione di Docker e del Runtime
• Scelta della base image corretta
• Minimizzazione del numero di livelli
• Utilizzo di costruzioni multi-stage
• Ottimizzazione delle immagini (ordinamento degli argomenti su più righe, ecc.)
• Sfruttamento della cache di build
• Fissazione delle versioni delle immagini
• Regolazione fine dell'allocazione delle risorse
• Pratiche sicure per i container
• Configurazione del runtime per prestazioni
Modulo 3: Kubernetes & Strategie di Release
Panoramica delle Deployments Kubernetes
• Creazione e esecuzione di un Deployment iniziale
• Opzioni di Deployment Kubernetes
Esecuzione di Deployments con Aggiornamenti Rolling
• Comprensione degli Aggiornamenti Rolling
• Creazione e esecuzione di un Aggiornamento Rolling
• Rollback del Deployment
Esecuzione di Deployments Canary
• Comprensione degli Deployments Canary
• Creazione e esecuzione di un Deployment Canary
Esecuzione di Deployments Blue-Green
• Comprensione degli Deployments Blue-Green
• Creazione e esecuzione di un Deployment Blue-Green
Esecuzione di Jobs e CronJobs
• Creazione di Job e CronJob
Esecuzione di Attività di Monitoraggio e Troubleshooting
• Tecniche di troubleshooting con kubectl
Modulo 4: Automazione & Efficienza Operativa
Utilizzo di Python per l'Automazione di Attività Comuni in Kubernetes
• Utilizzo di Python per eseguire operazioni amministrative in Kubernetes
• Utilizzo di Python per definire oggetti di Configurazione
• Utilizzo di Python per creare oggetti Deployment
• Monitoraggio degli eventi di Kubernetes utilizzando Python
• Scalabilità di un Deployment utilizzando Python
Comprensione delle Sfide nell'Automazione dei Deployments
• Configurazione Declarativa con Kubernetes
• Gestione dell'Integrità della Configurazione
Utilizzo dell'Approccio GitOps per l'Automazione dei Deployments
• Principi GitOps
• Introduzione a Flux
• Installazione di Flux in un Cluster Kubernetes
Configurazione di Flux per Deployments Automatizzati
• Utilizzo delle Notifiche
• Struttura del Repository Sorgente
Gestione degli Aggiornamenti delle Applicazioni con Automazione di Immagini
• Aggiornamento di un Deployment di Applicazione con Flux
• Scansione dei Repository di Immagini Container per Tag
• Definizione di Politiche per la Selezione dell'Immagine più Recent
• Configurazione di Flux per Eseguire Aggiornamenti di Immagini Automatici
Modulo 5: Osservabilità & Clarificazione delle Cause Profonde
Capacità di Logging e Tracciamento in Kubernetes
• Perché il Logging e il Tracciamento sono importanti
• Accesso ai Log di Kubernetes
• Log dei Pod e Container
• Log del Control Plane
• Utilizzo delle Risorse dei Nodi e Pod
Raccolta e Analisi dei Log
• Aggregazione dei Log
• Visualizzazione dei Log
Tracciamento Distribuito in Kubernetes
• Cos'è il tracciamento distribuito
• Utilizzo di OpenTelemetry
• Strumenti per il Tracciamento Distribuito
• Instrumentazione di un'applicazione
• Utilizzo del Tracciamento per Individuare Problemi di Prestazioni
Monitoraggio con Prometheus e Grafana
• Concetti di Osservabilità
• Strumenti di Monitoraggio
• Utilizzo dell'Instrumentazione di Prometheus
Caso d'Uso Avanzato per il Logging
• Elaborazione dei Log
• Filtraggio e Arricchimento dei Log
• Event Sourcing
Modulo 6: Simulazione di Crisi del Cluster & Risposta agli Incidenti
• Comprensione dei diversi tipi di fallite in un ambiente di cluster
• Simulazione delle Fallite dei Nodi
• Scenario di Evizione del Pod e Esaurimento delle Risorse
• Problemi di Rete
• Fallite DNS per la gestione dei timeout dell'applicazione
• Simulazione di una Fallita del Server API
• Simulazione di Alto Traffico per la Stabilità del Sistema
• Fallite della Storage
• Errori di Configurazione
• Comprensione delle procedure di reporting degli incidenti
Modulo 7: AI per Supportare il Troubleshooting
• Vantaggi dell'AI Generativa per Kubernetes
• Architettura del CLI K8sGPT
• Installazione del CLI K8sGPT
• Comandi e Utilizzo di K8sGPT
• Utilizzo degli Analizzatori K8sGPT (podAnalyzer, pvcAnalyzer, rsAnalyzer, ecc.)
• Analisi del Cluster utilizzando K8sGPT
• Analisi di Problemi in Tempo Reale utilizzando K8sGPT
• Operatore In-Cluster per K8sGPT
Requisiti
- Conoscenze di base della riga di comando Linux
- Esperienza nello sviluppo di applicazioni o nell'amministrazione dei sistemi
- Familiarità con i container (concetti Docker)
- Conoscenza di base dei concetti Kubernetes (pod, deployment, servizi)
- Comprensione generale dell'architettura software (ad esempio API, servizi)
Pubblico di riferimento:
- Ingegneri DevOps
- Ingegneri della Sostenibilità del Servizio (SREs)
- Sviluppatori Backend o Software che lavorano con microservizi
- Ingegneri Cloud e Platform Engineers
-
Amministratori di sistemi in transizione verso ambienti Kubernetes
Recensioni (1)
esempi della vita reale
Maria - Fundacja PTA
Corso - Mastering Make: Advanced Workflow Automation and Optimization
Traduzione automatica