dgt_k8s07 – Tuning

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:

  1. Introduzione al tuning di Kubernetes
  2. Panoramica dei concetti e delle best practice di tuning di Kubernetes.
  3. Importanza del monitoraggio e dell’ottimizzazione delle prestazioni in un ambiente Kubernetes.

  4. Probe per la salute delle applicazioni

  5. Approfondimento su Readiness Probe e Liveness Probe.
  6. Esempi pratici: chiedere alla macchina di configurare le probe per diversi scenari applicativi e revisionare ciò che produce.
  7. Best practice per evitare gli errori più comuni nella configurazione delle probe.

  8. Gestione delle risorse: Limits e Requests

  9. Differenza tra limits e requests in Kubernetes.
  10. Tecniche per definire vincoli di risorse ottimali.
  11. Analisi dell’impatto delle impostazioni delle risorse sulle prestazioni del cluster.

  12. Scalare le applicazioni con HPA

  13. Introduzione al funzionamento dell’Horizontal Pod Autoscaler (HPA).
  14. HPA basato su CPU, memoria e metriche personalizzate: specificare l’obiettivo e verificarne il risultato.
  15. Scenari reali per strategie di scaling efficaci.

  16. Scaling basato su eventi con KEDA

  17. Panoramica di Kubernetes Event-driven Autoscaling (KEDA).
  18. Sorgenti di eventi e trigger per l’autoscaling, descritti in linguaggio naturale e controllati negli oggetti generati.
  19. Casi di studio che mostrano KEDA all’opera su diversi tipi di workload.

  20. Laboratori e progetti in linguaggio naturale

  21. Laboratori interattivi in cui guidi la macchina nell’applicare i concetti appresi, per poi misurare e convalidare il risultato.
  22. Progetti che simulano scenari reali di tuning, compresa l’individuazione e la correzione degli errori della macchina.

  23. Argomenti avanzati e best practice

  24. Esplorazione di ulteriori opzioni di scaling come il Vertical Pod Autoscaler (VPA).
  25. Strategie per mantenere prestazioni ottimali del cluster.
  26. 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