Titolo del corso: dgt_k8s07 – Tuning
Descrizione:
Il corso “dgt_k8s07 – Kubernetes Tuning” tratta l’ottimizzazione dei deploy Kubernetes ed è rivolto a sviluppatori e amministratori di sistema. Il corso affronta gli aspetti essenziali del tuning di Kubernetes, con particolare attenzione a prestazioni, affidabilità e scalabilità delle applicazioni: prima si impara come lo scheduler, il kubelet e gli autoscaler prendono le loro decisioni, poi si ottimizzano workload reali istruendo un agente AI in linguaggio naturale.
Il tuning è una questione di numeri, e sbagliare i numeri è facile. Per questo non scriverai i manifest a mano: dirai alla macchina quale comportamento ti aspetti (“questo servizio impiega 20 secondi a scaldarsi e non deve mai essere terminato durante un picco di traffico”), le lascerai proporre probe, request, limit e impostazioni degli autoscaler, e poi verificherai ogni valore alla luce della teoria, delle metriche e di un test di carico che le chiederai di eseguire.
Obiettivi del corso:
– Comprendere il funzionamento delle Readiness Probe e delle Liveness Probe e descriverle alla macchina con una precisione tale da mantenere le applicazioni in buona salute.
– Capire come Limits e Requests influenzano scheduling e throttling e valutare se i valori proposti dalla macchina sono adeguati.
– Conoscere l’Horizontal Pod Autoscaler (HPA) per lo scaling dinamico basato su metriche in tempo reale, guidandone la configurazione e verificandone il comportamento sotto carico.
– Esplorare Kubernetes Event-driven Autoscaling (KEDA) e far implementare l’autoscaling basato su eventi a partire da una specifica chiara in linguaggio naturale.
Moduli:
- Introduzione al tuning di Kubernetes
- Panoramica dei concetti e delle best practice di tuning di Kubernetes.
-
Importanza del monitoraggio e dell’ottimizzazione delle prestazioni in un ambiente Kubernetes.
-
Probe per la salute delle applicazioni
- Approfondimento su Readiness Probe e Liveness Probe.
- Esempi pratici: chiedere alla macchina di configurare le probe per diversi scenari applicativi e revisionare ciò che produce.
-
Best practice per evitare gli errori più comuni nella configurazione delle probe.
-
Gestione delle risorse: Limits e Requests
- Differenza tra limits e requests in Kubernetes.
- Tecniche per definire vincoli di risorse ottimali.
-
Analisi dell’impatto delle impostazioni delle risorse sulle prestazioni del cluster.
-
Scalare le applicazioni con HPA
- Introduzione al funzionamento dell’Horizontal Pod Autoscaler (HPA).
- HPA basato su CPU, memoria e metriche personalizzate: specificare l’obiettivo e verificarne il risultato.
-
Scenari reali per strategie di scaling efficaci.
-
Scaling basato su eventi con KEDA
- Panoramica di Kubernetes Event-driven Autoscaling (KEDA).
- Sorgenti di eventi e trigger per l’autoscaling, descritti in linguaggio naturale e controllati negli oggetti generati.
-
Casi di studio che mostrano KEDA all’opera su diversi tipi di workload.
-
Laboratori e progetti in linguaggio naturale
- Laboratori interattivi in cui guidi la macchina nell’applicare i concetti appresi, per poi misurare e convalidare il risultato.
-
Progetti che simulano scenari reali di tuning, compresa l’individuazione e la correzione degli errori della macchina.
-
Argomenti avanzati e best practice
- Esplorazione di ulteriori opzioni di scaling come il Vertical Pod Autoscaler (VPA).
- Strategie per mantenere prestazioni ottimali del cluster.
- Discussione sulle tendenze future del tuning di Kubernetes.
A chi è rivolto:
Questo corso è rivolto a DevOps engineer, cloud architect, amministratori di sistema e sviluppatori che si occupano del tuning di Kubernetes. Trattandosi di un corso avanzato, è consigliata una conoscenza preliminare dei concetti di Kubernetes.
Certificazione:
Al termine, i partecipanti ricevono un attestato di completamento del corso di tuning di Kubernetes.
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/tree/main/dgt_k8s07__tuning
