Schița de curs
Modulul 1: Proiectarea Microserviciilor
• O limită bună a microserviciului
• Utilizarea Domain Driven Design (DDD)
• Alternative la limitele de domeniu de afaceri (Volatilitate, Date, Tehnologie, Organizațional)
• Descompunerea monolitului
• Descompunerea prematură
• Descompunere pe straturi
• Utilizarea modelelor de descompunere (Strangler, Parallel Run, Feature Toggle)
• Preocupări legate de descompunerea datelor (Performanță, Integritate, Tranzacții)
Modulul 2: Optimizarea Docker și Runtime-ului
• Alegerea imaginii de bază potrivite
• Minimizarea numărului de straturi
• Utilizarea build-urilor multi-etapă
• Optimizarea imaginii (sortarea argumentelor multi-line, etc.)
• Exploatarea cache-ului de build
• Fixarea versiunilor imaginilor
• Reglarea fină a alocării resurselor
• Practici sigure pentru containere
• Configurarea runtime-ului pentru performanță
Modulul 3: Kubernetes & Strategii de Lansare
Prezentare generală a implementărilor Kubernetes
• Crearea și executarea unei implementări inițiale
• Opțiuni de implementare Kubernetes
Efectuarea implementărilor Rolling Update
• Înțelegerea Rolling Update
• Crearea și executarea unui Rolling Update
• Revenirea la o implementare anterioară
Efectuarea implementărilor Canary
• Înțelegerea implementărilor Canary
• Crearea și executarea unei implementări Canary
Efectuarea implementărilor Blue-Green
• Înțelegerea implementărilor Blue-Green
• Crearea și executarea unei implementări Blue-Green
Executarea Job-urilor și CronJob-urilor
• Crearea unui Job și CronJob
Efectuarea sarcinilor de monitorizare și depanare
• Tehnici de depanare cu kubectl
Modulul 4: Automatizare & Eficiență Operațională
Utilizarea Python pentru a automatiza sarcini comune în Kubernetes
• Utilizarea Python pentru a efectua operații administrative în Kubernetes
• Utilizarea Python pentru a defini obiecte de configurare
• Utilizarea Python pentru a crea obiecte de implementare
• Monitorizarea evenimentelor Kubernetes folosind Python
• Scalarea unei implementări folosind Python
Înțelegerea provocărilor automatizării implementărilor
• Configurație declarativă cu Kubernetes
• Gestionarea integrității configurației
Utilizarea abordării GitOps pentru automatizarea implementărilor
• Principiile GitOps
• Introducerea Flux
• Instalarea Flux într-un cluster Kubernetes
Configurarea Flux pentru implementări automate
• Utilizarea notificărilor
• Structura repository-ului sursă
Gestionarea actualizărilor aplicațiilor cu automatizarea imaginilor
• Actualizarea unei implementări de aplicație cu Flux
• Scanarea repository-urilor de imagini pentru tag-uri
• Definirea politicii pentru selectarea ultimei imagini
• Configurarea Flux pentru a efectua actualizări automate ale imaginilor
Modulul 5: Observabilitate & Claritate asupra Cauzelor
Capacitățile de logging și tracing ale Kubernetes
• De ce sunt logging-ul și tracing-ul importante
• Accesarea log-urilor Kubernetes
• Log-urile Pod-urilor și Containerelor
• Log-urile planului de control
• Utilizarea resurselor de către Noduri și Pod-uri
Colectarea și analizarea log-urilor
• Agregarea log-urilor
• Vizualizarea log-urilor
Tracing distribuit în Kubernetes
• Ce este tracing-ul distribuit
• Utilizarea OpenTelemetry
• Instrumente de tracing distribuit
• Instrumentarea unei aplicații
• Utilizarea tracing-ului pentru a găsi probleme de performanță
Monitorizarea cu Prometheus și Grafana
• Concepte de observabilitate
• Instrumente de monitorizare
• Utilizarea instrumentării Prometheus
Cazuri de utilizare avansate pentru logging
• Procesarea log-urilor
• Filtrarea și îmbogățirea log-urilor
• Event Sourcing
Modulul 6: Simularea Crizei de Cluster & Răspuns la Incidente
• Înțelegerea diferitelor tipuri de defecțiuni într-un mediu de cluster
• Simularea defecțiunilor de noduri
• Scenariu de evacuare a Pod-urilor & Epuizare a resurselor
• Probleme de rețea
• Defecțiuni DNS pentru gestionarea timeout-urilor aplicației
• Simularea unei întreruperi a serverului API
• Simularea traficului ridicat pentru stabilitatea sistemului
• Defecțiuni de stocare
• Erori de configurare
• Înțelegerea procedurilor de raportare a incidentelor
Modulul 7: AI pentru Sprijinirea Depanării
• Beneficiile AI generativ pentru Kubernetes
• Arhitectura CLI K8sGPT
• Instalarea CLI K8sGPT
• Comenzi și utilizare K8sGPT
• Utilizarea Analizoarelor K8sGPT (podAnalyzer, pvcAnalyzer, rsAnalyzer, etc.)
• Analizarea clusterului folosind K8sGPT
• Analizarea problemelor în timp real folosind K8sGPT
• Operator In-Cluster pentru K8sGPT
Cerințe
- Cunoștințe de bază despre linia de comandă Linux
- Experiență în dezvoltarea de aplicații sau administrarea sistemelor
- Familiaritate cu containere (concepte Docker)
- Înțelegere de bază a conceptelor Kubernetes (pods, deployments, services)
- Înțelegere generală a arhitecturii software (de ex. API-uri, servicii)
Public țintă:
- Ingineri DevOps
- Ingineri de Fiabilitate a Site-ului (SREs)
- Dezvoltatori Backend / Software care lucrează cu microservicii
- Ingineri Cloud și Ingineri de Platformă
-
Administratori de Sisteme care trec la medii Kubernetes
Mărturii (1)
exemple din viața reală
Maria - Fundacja PTA
Curs - Mastering Make: Advanced Workflow Automation and Optimization
Tradus de catre o masina