Kursplan
Modul 1: Design av mikrotjenester
• En god mikrotjenestegrense
• Bruk av domainedrevet design (DDD)
• Alternativer til forretningsdomenegrensene (volatilitet, data, teknologi, organisasjon)
• Splitting av monolitten
• For tidlig dekomponering
• Dekomponering etter lag
• Bruk av dekomponeringsmønstre (Strangler, Parallel Run, Feature Toggle)
• Spørsmål knyttet til datadekomponering (ytelse, integritet, transaksjoner)
Modul 2: Optimalisering av Docker og runtime
• Valg av riktig base-bilde
• Minimere antall lag
• Bruk av multi-stage builds
• Optimalisering av bilder (sortering av flerverdige argumenter, osv.)
• Nyte godt av bygg-cachen
• Pinningsversjon av bilder
• Finjustering av ressursallokering
• Sikker container-praksis
• Runtime-konfigurasjon for ytelse
Modul 3: Kubernetes & utgivelsesstrategier
Oversikt over Kubernetes Deployments
• Oppretting og utførelse av en initial distribusjon
• Alternativ for Kubernetes-utgivelser
Utføre rullerende oppdateringer (Rolling Update)
• Forståelse av rullerende oppdatering
• Oppretting og utførelse av en rullerende oppdatering
• Tilbakeføring av distribusjon
Utføre Canary-utgivelser
• Forståelse av Canary-utgivelser
• Oppretting og utførelse av en Canary-distribusjon
Utføre Blue-Green-distribusjoner
• Forståelse av Blue-Green-distribusjoner
• Oppretting og utførelse av en Blue-Green-distribusjon
Kjøre Jobs og CronJobs
• Opprettelse av en Job og CronJob
Utføre overvåkings- og feilsøkingsoppgaver
• Feilsøkingsteknikker med kubectl
Modul 4: Automatisering og operativ effektivitet
Bruk av Python for å automatisere vanlige oppgaver i Kubernetes
• Bruk av Python til å utføre administrative operasjoner i Kubernetes
• Bruk av Python til å definere konfigurasjonsobjekter
• Bruk av Python til å lage Deployment-objekter
• Overvåking av Kubernetes-hendelser med Python
• Skalering av en Deployments med Python
Forståelse av utfordringene med automatisering av distribusjoner
• Deklarativ konfigurasjon med Kubernetes
• Administrasjon av konfigurasjonens integritet
Bruk av GitOps-tilnærming for å automatisere distribusjoner
• GitOps-prinsipper
• Introduksjon av Flux
• Installasjon av Flux til et Kubernetes-klastrer
Konfigurering av Flux for automatisk distribusjon
• Bruk av varsler
• Struktur til kilde-repositoriet
Håndtering av applikasjonsoppdateringer med bilde-automatisering
• Oppdatering av en applikasjonsdistribusjon med Flux
• Sinking etter container-bilderepositorier etter tags
• Definisjon av policy for valg av nyeste bilde
• Konfigurerer Flux til å utføre automatiske bildeoppdateringer
Modul 5: Observabilitet og rotårsaksavklaring
Kubernetes-logging og sporing (tracing)
• Hvorfor er logging og tracing viktig
• Tilgang til Kubernetes-loggene
• Pod- og container-logger
• Control Plane-logger
• Ressursbruk for noder og pods
Innsamling og analyse av logger
• Log-aggregering
• Visualisering av logger
Distribuert sporing i Kubernetes
• Hva er distribuert sporing?
• Bruk av OpenTelemetry
• Verktøy for distribuert sporing
• Instrumentering av en applikasjon
• Bruk av tracing for å finne ytelsesproblemer
Overvåking med Prometheus og Grafana
• Observabilitetskonsepter
• Overvåkingsverktøy
• Bruk av Prometheus-instrumentering
Avanserte brukskasus for logging
• Behandle logger
• Filtrering og berikelse av logger
• Event Sourcing
Modul 6: Simulering av klastrer-kriser og hendelsesrespons
• Forståelse av de ulike feiltyper i et klastrermiljø
• Simulering av nodefeil
• Pod-utvisning og scenario med ressursuttømming
• Nettverksproblemer
• DNS-feil for håndtering av applikasjons-timeout
• Simulering av API Server-nedbrudd
• Simulering av høy trafikk for systemstabilitet
• Lagringsfeil
• Konfigurasjonsfeil
• Forståelse av prosedyrer for hendelsesrapportering
Modul 7: AI som støtter feilsøking
• Fordelene med generativ AI for Kubernetes
• K8sGPT CLI-arkitektur
• Installasjon av K8sGPT CLI
• K8sGPT-kommandoer og bruk
• Bruk av K8sGHT-analyseverktøy (podAnalyzer, pvcAnalyzer, rsAnalyzer, osv.)
• Analyse av klasteret ved hjelp av K8sGHT
• Analysering av sanntidsproblemer med K8sGHT
• In-Cluster-operator for K8sGHT
Krav
- Grunnkunnskaper om Linux-kommandolinjen
- Erfaring med applikasjonsutvikling eller systemadministrasjon
- Kjennskap til container-teknologi (Docker-prinsipper)
- Grindleggende forståelse av Kubernetes-konsepter (pods, deployments, services)
- Allmenn forståelse av programvarearkitektur (f.eks. API-er, tjenester)
Målgruppe:
- DevOps-ingeniører
- Site Reliability Engineers (SRE)
- Bakende-/programvareutviklere som jobber med mikrotjenester
- Cloud-ingeniører og platformingeniører
-
Systemadministratorer som overgår til Kubernetes-miljøer
Referanser (2)
Craig var ekstremt engasjert i opplæringen, alltid sikrede at vi holdt fokus, tilpasset eksemplene til våre daglige aktiviteter og ga alltid et svar når vi spurte, selv om informasjonen ikke var inkludert i presentasjonen.
Ecaterina Ioana Nicoale - BOOKING HOLDINGS ROMANIA SRL
Kurs - DevOps Foundation®
Maskinoversatt
Høy nivå av engasjement og kunnskap hos treneren
Jacek - Softsystem
Kurs - DevOps Engineering Foundation (DOEF)®
Maskinoversatt