Schița de curs
Modulul 1: Design-ul Microserviciilor
• Un graniță bună a Microserviciului
• Utilizarea Design-ului Condus de Domeniu (DDD)
• Alternative la granițele Domeniului de Afaceri (Volatilitate, Date, Tehnologie, Organizațional)
• Descompunerea Monolitului
• Descompunerea prematură
• Descompunerea pe straturi
• Utilizarea tiparelor de descompunere (Strangler, Rulează în paralel, Comutator de funcționalitate)
• Aspecte ale descompunerii datelor (Performanță, Integritate, Tranzacții)
Modulul 2: Optimizarea Docker și a Runtime-ului
• Alegerea imaginii de bază potrivite
• Minimizarea numărului de straturi
• Utilizarea construcțiilor multi-etapă
• Optimizarea imaginilor (sortarea argumentelor pe mai multe linii etc.)
• Exploatarea cache-ului de construcție
• Fixarea versiunilor imaginilor
• Ajustarea fină a alocării resurselor
• Practici sigure pentru containere
• Configurația runtime pentru performanță
Modulul 3: Kubernetes și Strategii de Lansare
Prezentare generală a Deployments-urilor Kubernetes
• Crearea și executarea unei Implementări Inițiale
• Opțiunile de Deployment Kubernetes
Efectuarea Update-urilor Continue (Rolling Updates)
• Înțelegerea Actualizărilor Continue
• Crearea și executarea unei Actualizări Continue
• Revocarea Implementării
Efectuarea Lansărilor Canary
• Înțelegerea Lansărilor Canary
• Crearea și executarea unei Lansări Canary
Efectuarea Lansărilor Blue-Green
• Înțelegerea Lansărilor Blue-Green
• Crearea și executarea unei Lansări Blue-Green
Rularea Job-urilor și CronJob-urilor
• Crearea unui Job și a unui CronJob
Efectuarea Sarcinilor de Monitorizare și Depanare
• Tehnici de depanare cu kubectl
Modulul 4: Automatizare și Eficiență Operațională
Utilizarea Python pentru a automatiza sarcini comune în Kubernetes
• Utilizarea Python pentru a efectua operațiuni administrative în Kubernetes
• Utilizarea Python pentru a defini obiecte de configurație
• Utilizarea Python pentru a crea obiecte Deployment
• Urmărirea Evenimentelor Kubernetes utilizând Python
• Scalarea unui Deployment folosind Python
Înțelegerea Provocărilor Automatizării Lansărilor
• Configurația declarativă cu Kubernetes
• Gestionarea integrității configurației
Utilizarea Abordării GitOps pentru Automatizarea Lansărilor
• Principiile GitOps
• Introducerea Flux
• Instalarea Flux într-un cluster Kubernetes
Configurarea Flux pentru Lansări Automatizate
• Utilizarea notificărilor
• Structura repository-ului sursă
Gestionarea Actualizărilor Aplicației cu Automatizarea Imaginilor
• Actualizarea unui Deployment de aplicație cu Flux
• Scanarea depozitelor de imagini container pentru tag-uri
• Definirea politicii pentru selectarea ultimei versiuni a imaginii
• Configurarea Flux pentru a efectua actualizări automate ale imaginilor
Modulul 5: Observabilitate și Claritatea Cauzelor Radacinate
Capabilitățile de Jurnale și Urmărire (Tracing) ale Kubernetes
• De ce sunt importante jurnalele și urmărirea
• Accesarea jurnalelor Kubernetes
• Jurnalele Pod-urilor și Containerelor
• Jurnalele Control Plane-ului
• Utilizarea resurselor de noduri și pod-uri
Colectarea și Analizarea Jurnalelor
• Agregarea jurnalelor
• Vizualizarea jurnalelor
Urmărirea distribuită în Kubernetes
• Ce este urmărirea distribuită
• Utilizarea OpenTelemetry
• Instrumente de urmărire distribuită
• Instrumentarea unei aplicații
• Utilizarea urmăririi pentru identificarea problemelor de performanță
Monitorizare cu Prometheus și Grafana
• Concepte de observabilitate
• Instrumente de monitorizare
• Utilizarea instrumentației Prometheus
Cazuri de utilizare avansate pentru jurnale
• Procesarea jurnalelor
• Filtrarea și îmbogățirea jurnalelor
• Eveniment Sourcing
Modulul 6: Simularea Crizelor Cluster-ului și Răspunsul la Incidente
• Înțelegerea diferitelor tipuri de eșecuri într-un mediu cluster
• Simularea unui Eșec de Nod
• Scenariu de Evictare a Pod-ului și Epuizare a Resurselor
• Probleme de rețea
• Eșecuri DNS pentru gestionarea timeout-urilor aplicației
• Simularea unui timp de nefuncționare al API Server-ului
• Simularea traficului ridicat pentru stabilitatea sistemului
• Eșec de stocare
• Erori de configurare
• Înțelegerea procedurilor de raportare a incidentelor
Modulul 7: IA pentru a susține depanarea
• Beneficiile IA Generative pentru Kubernetes
• Arhitectura K8sGPT CLI
• Instalarea K8sGPT CLI
• Comenzi și utilizare K8sGPT
• Utilizarea analizatoarelor K8sGPT (podAnalyzer, pvcAnalyzer, rsAnalyzer etc.)
• Analiza cluster-ului folosind K8sGPT
• Analiza problemelor în timp real folosind K8sGPT
• Operatorul din interiorul cluster-ului pentru K8sGPT
Cerințe
- Cunoștințe de bază despre linia de comandă Linux
- Experiență cu dezvoltarea aplicațiilor sau administrarea sistemelor
- Familiaritate cu containerizarea (concepte Docker)
- Înțelegere de bază a conceptelor Kubernetes (pods, deployments, servicii)
- Înțelegerea generală a arhitecturii software (de ex. API-uri, servicii)
Audiența țintă:
- Ingineri DevOps
- Ingineri de Fiabilitate a Sitului (SRE)
- Dezvoltatori Backend / Software care lucrează cu microservicii
- Ingineri Cloud și Ingineri Platformă
-
Administratori de sistem care trec la mediile Kubernetes
Mărturii (2)
Craig a fost extrem de implicat în instruire, mereu asigurându-se că suntem atenți, adaptând exemplele la activitățile noastre zilnice și mereu oferind un răspuns când era întrebat, chiar dacă informația nu era inclusă în prezentare.
Ecaterina Ioana Nicoale - BOOKING HOLDINGS ROMANIA SRL
Curs - DevOps Foundation®
Tradus de catre o masina
Un grad ridicat de angajament și cunoștințe al instrucționarului
Jacek - Softsystem
Curs - DevOps Engineering Foundation (DOEF)®
Tradus de catre o masina