Schița de curs
Modulul 1: Proiectarea Microserviciilor
• O frontieră bună pentru Microservicii
• Utilizarea Design-ului Orientat spre Domeniu (DDD)
• Alternative la limitele Domeniului de Afaceri (Volatilitate, Date, Tehnologie, Organizare)
• Descompunerea Monolitului
• Descompunerea prematură
• Descompunerea pe Straturi
• Utilizarea pattern-urilor de descompunere (Strangler, Rulează paralel, Feature Toggle)
• Aspecte privind descompunerea datelor (Performanță, Integritate, Tranzacții)
Modulul 2: Optimizarea Docker și a Runtime-ului
• Alegerea imaginii de bază potrivite
• Minimizarea numărului de straturi (layers)
• Utilizarea construcțiilor cu mai multe etape (multi-stage builds)
• Optimizarea imaginilor (sortarea argumentelor pe mai multe linii, etc.)
• Valorificarea cache-ului de construcție
• Fixarea versiunilor imaginilor
• Ajustarea fină a alocării resurselor
• Practici de securitate a containerelor
• Configurarea runtime-ului pentru performanță
Modulul 3: Kubernetes și Strategii de Lansare
Spre o Prezentare Generală a Deployment-urilor Kubernetes
• Crearea și executarea unui Deployment Inițial
• Opțiuni de Deployment Kubernetes
Efectuarea Deployment-urilor cu Actualizări Progresive (Rolling Update)
• Înțelegerea Actualizărilor Progresive
• Crearea și executarea unei Actualizări Progresive
• Revocarea unui Deployment
Efectuarea Deployment-urilor Canary
• Înțelegerea Deployment-urilor Canary
• Crearea și executarea unui Deployment Canary
Efectuarea Deployment-urilor Blue-Green
• Înțelegerea Deployment-urilor Blue-Green
• Crearea și executarea unui Deployment Blue-Green
Executarea Job-urilor și CronJobs
• Crearea unui Job și a unui CronJob
Efectuarea Task-urilor de Monitorizare și Depanare
• Tehnici de depanare cu kubectl
Modulul 4: Automatizare și Eficiență Operațională
Utilizarea Python pentru a automatiza sarcini frecvente în Kubernetes
• Utilizarea Python pentru a efectua operațiuni administrative în Kubernetes
• Utilizarea Python pentru a defini obiecte de configurare
• Utilizarea Python pentru a crea obiecte de tip Deployment
• Monitorizarea evenimentelor Kubernetes folosind Python
• Scalarea unui Deployment folosind Python
Înțelegerea Provocărilor în Automatizarea Deployment-urilor
• Configurație declarativă cu Kubernetes
• Gestionarea integrității configurației
Utilizarea Abordării GitOps pentru Automatizarea Deployment-urilor
• Principiile GitOps
• Prezentarea instrumentului Flux
• Instalarea Flux într-un cluster Kubernetes
Configurarea Flux pentru Deployment-uri Automatizate
• Utilizarea notificărilor
• Structura depozitului sursă (Source Repository)
Gestionarea Actualizărilor Aplicațiilor 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 de imagine
‡ Configurarea Flux pentru a efectua actualizări automate ale imaginilor
Modulul 5: Observabilitate și Claritatea Cauzelor Rădăcină
Capacități de Logare și Tracing în Kubernetes
• De ce sunt importante logarea și tracing-ul
• Accesarea jurnalelor (logs) Kubernetes
• Jurnalele Pod-urilor și Containerelor
• Jurnalele Planului de Control (Control Plane)
• Utilizarea resurselor de către noduri și pods
Colectarea și Analiza Jurnalelor
• Agregarea jurnalelor
• Vizualizarea jurnalelor
Distribuirea Urmăririi (Distributed Tracing) în Kubernetes
• Ce este distribuirea urmăririi
• Utilizarea OpenTelemetry
• Instrumente de distribuire a urmăririi
• Instrumentarea unei Aplicații
• Utilizarea tracing-ului pentru identificarea problemelor de performanță
Monitorizarea cu Prometheus și Grafana
• Concepte de observabilitate
• Instrumente de monitorizare
• Utilizarea instrumentației Prometheus
Cazuri de utilizare avansate pentru logare
• Procesarea jurnalelor
• Filtrarea și îmbogățirea jurnalelor
• Event Sourcing
Modulul 6: Simularea Crizelor Cluster-ului și Răspunsul la Incidente
• Înțelegerea diferitelor tipuri de eșecuri într-un mediu cluster
• Simularea unor Eșecuri de Nod
• Scenariul de Evicție a Pod-urilor și Epuiizare a Resurselor
• Probleme de Rețea
• Eșecurile DNS pentru gestionarea timeout-ului aplicației
• Simularea unei Lipsuri de Disponibilitate a Server-ului API
‡ Simularea unui Trafic Ridicat pentru stabilitatea sistemului
• Eșecuri de Stocare
• Erori de Configurare
• Înțelegerea procedurilor de raportare a incidentelor
Modulul 7: AI pentru Sprijinul în Depanare
• Beneficiile IA Generativă pentru Kubernetes
‡ Arhitectura CLI K8sGPT
• Instalarea CLI K8sGPT
• Comenzi și utilizare K8sGPT
• Utilizarea Analizoarelor K8sGPT (podAnalyzer, pvcAnalyzer, rsAnalyzer etc.)
‡ Analiza Cluster-ului folosind K8sGPT
‡ Analiza problemelor în timp real folosind K8sGPT
‡ Operatorul din cluster pentru K8sGPT
Cerințe
- Cunoștințe de bază despre linia de comandă Linux
- Experiență cu dezvoltarea aplicațiilor sau administrarea sistemelor
- Conștientizare a conceptelor de containere (Docker)
- Înțelegerea de bază a conceptelor Kubernetes (pods, deployment-uri, servicii)
- Înțelegerea generală a arhitecturii software (de ex. API-uri, servicii)
Públic țintă:
- Ingineri DevOps
- Ingineri de Fiabilitate a Site-ului (SREs)
- Dezvoltatori Backend / Software care lucrează cu microservicii
- Ingineri Cloud și Platform Engineers
-
Administratori de sistem care migrează către medii 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