Kursplan
Dag 1 – Containrar och bildhantering
Introduktion till containerplattformar
- Konventionell applikationsdistribution jämfört med containrbaserad distribution
- Containrar och virtuella maskiner
- Containerkörsystem och motorer
- Docker, Kubernetes och OpenShifts roll
- Vanliga arkitekturer för containerplattformar
- Arbetsflöden för utveckling, testning och produktion
Arbeta med containrar
- Köra och hantera containrar
- Containerns livscykel
- Starta, stoppa och ta bort containrar
- Köra kommandon inne i containrar
- Miljövariabler
- Portmappning
- Containerloggar
- Resursanvändning och processinspektion
Bygga containerbilder
- Bildstruktur och lager
- Skapa Dockerfiles och Containerfiles
- Välja basbilder
- Lägga till applikationsberoenden
- Konfigurera entrypoints och kommandon
- Bildcachning
- Minska bildstorlek
- Bygga reproducerbara bilder
Containerregister
- Offentliga och privata register
- Tagga och versionera bilder
- Lägg till och ladda ner bilder
- Bildautentisering
- Bildens livslängd och rengöring
- Viktiga säkerhetsaspekter för bilder
Containernätverk och lagring
- Containernätverksbegrepp
- Bridgenätverk
- Portexponering
- Kommunikation mellan containrar
- Bind mounts och volymer
- Persistenta containerdata
- Säkerhetskopieringsöverväganden
Praktiska övningar
- Köra och inspektera containrar
- Bygga en applikationsbild
- Konfigurera portar och miljövariabler
- Lägg till en bild i ett register
- Lagra persistenta data utanför en container
Dag 2 – Kubernetes-arkitektur och arbetslasters
Kubernetes-grunder
- Syftet med containerorchestrering
- Kubernetes-arkitektur
- Kontrollplankomponenter
- Arbetsnoder
- API-server
- Schemaläggare
- Kontroller
- Klusterstatus och önskad status
- Kommunicera med klustret med kubectl
Kubernetes-resurser
- Pods
- ReplicaSets
- Distributioner (Deployments)
- Namnrum (Namespaces)
- Taggning och anteckningar (Labels and annotations)
- Väljare (Selectors)
- Declarativa resursdefinitioner
- YAML-manifest
Distribuera applikationer
- Skapa och hantera distributioner
- Skala arbetslasters
- Uppdatera containerbilder
- Rullande uppdateringar
- Tillbakagången (Rollbacks)
- Distributionshistorik
- Starta om arbetslasters
- Hantera applikationsrepliker
Applikationskonfiguration
- ConfigMaps
- Hemligheter (Secrets)
- Miljövariabler
- Konfigurationsfiler
- Separera applikationskod från konfiguration
- Hantera miljöspecifika inställningar
Resurshantering
- CPU- och minnesförfrågningar (requests)
- CPU- och minnesbegränsningar (limits)
- Resurskvoter
- Begränsningsområden (Limit ranges)
- Schemaläggningskonsekvenser
- Felsöka resursrelaterade fel
Praktiska övningar
- Distribuera en containervärdad applikation
- Skapa och uppdatera Kubernetes-manifest
- Skala en applikation
- Utför en rullande uppdatering och tillbakagång (rollback)
- Konfigurera applikationen med ConfigMaps och Secrets
- Tillämpa resursförfrågningar och begränsningar
Dag 3 – Kubernetes-nätverk, lagring och säkerhet
Kubernetes-nätverk
- Kluster-nätverksmodell
- Kommunikation mellan pods
- Tjänstedetektering (Service discovery)
- DNS inne i klustret
- ClusterIP-tjänster
- NodePort-tjänster
- LoadBalancer-tjänster
- Ingressbegrepp
- Mönster för applikationsexponering
Nätverkspolicyer
- Kontrollera trafik mellan arbetslasters
- Ingress- och egress-regler
- Trafikkontroll baserad på namnrum
- Testa nätverksanslutning
- Felsöka tjänstekommunikation
Persistenta lagringslösningar
- Ephemeral och persistenta lagringslösningar
- Volymer
- PersistentVolumes
- PersistentVolumeClaims
- StorageClasses
- Dynamisk provisionering
- Åtkomstlägen
- Reclaim-policies
- Lagring för tillståndshållande (stateful) applikationer
Tillgångskontroll i Kubernetes
- Begrepp om autentisering och auktorisering
- Rolbbaserad åtkomstkontroll (RBAC)
- Roller och ClusterRoles
- RoleBindings och ClusterRoleBindings
- Tjänstkonton
- Minsta behörighetsprincipen
- Inspektera effektiva behörigheter
Säkerhet för arbetslasters
- Säkerhetskontexter
- Köra containrar som icke-root-användare
- Linux-capabilities
- Läsbara filsystem
- Hantering av hemligheter (secrets)
- Bildursprung (Image provenance)
- Vanliga konfigureringsrisker
Praktiska övningar
- Exponera en applikation med Kubernetes-tjänster
- Konfigurera ingress
- Begränsa trafik med en nätverkspolicy
- Tilldela persistenta lagringsresurser
- Konfigurera RBAC-behörigheter
- Köra en arbetslast med lämplig säkerhetskontext
Dag 4 – Arbeta med OpenShift-miljöer
Introduktion till OpenShift
- OpenShift som en Kubernetes-baserad applikationsplattform
- Kubernetes-resurser i en OpenShift-miljö
- OpenShift-klusterarkitektur
- Projekt och namnrum
- Plattformsanvändare och tjänstkonton
- Arbeta med webbkonsolen
- Arbeta med OpenShift CLI
Hantera projekt och åtkomst
- Skapa och hantera projekt
- Tilldela användarbehörigheter
- Projektbaserade roller
- Administrativ åtkomst
- Resurskvoter
- Begränsningsområden (Limit ranges)
- Tjänstkonton
- Granska projektresurser
Distribuera applikationer
- Distribuera containerbilder
- Skapa applikationsarbetslasters
- Hantera distributioner
- Skala applikationer
- Uppdatera applikationsversioner
- Tillbakagången (Rollbacks)
- Hantera applikationskonfiguration
- Arbeta med secrets
Applikationsexponering
- Tjänster i OpenShift
- Rutter (Routes)
- TLS-begrepp
- Intern och extern tillgång till applikationer
- Värdnamn och certifikat
- Felsöka route- och tjänstproblem
Lagring i OpenShift
- Persistent Volume Claims
- StorageClasses
- Koppla lagring till arbetslasters
- Tillståndshållande (Stateful) arbetslasters
- Lagringsåtkomstbehörigheter
- Felsöka volymmonteringsfel
Schemaläggning och nodhantering
- Taggar och väljare (Selectors)
- Nodväljare (Node selectors)
- Taints och tolerationer
- Konceptet om affinitet och anti-affinitet
- Fördelning av arbetslasters
- Cordoning och tömning av noder
- Överväganden för nodunderhåll
Praktiska övningar
- Få tillgång till en OpenShift-miljö
- Skapa och konfigurera ett projekt
- Distribuera och exponera en applikation
- Konfigurera användar- och tjänstekontots åtkomst
- Koppla persistenta lagringsresurser
- Skala och uppdatera en körande arbetslast
Dag 5 – Drift, övervakning och felsökning
Plattformsövervakning
- Övervaka kluster- och applikationshälsa
- Resursmetrikdata
- Nodhälsa
- Status för arbetslasters
- Kapacitet och resursutnyttjande
- Identifiera prestandabegränsningar
Loggning och händelser
- Containerloggar
- Pod-loggar
- Tidigare containerloggar
- Kubernetes-händelser
- Applikations- och plattformsmeddelanden
- Filtrering och tolkning av driftdata
Hälsokontroller (Health Checks)
- Startup probes
- Readiness probes
- Liveness probes
- Designa användbara hälsoslutpunkter
- Felsöka misslyckade prover
- Förhindra onödiga omstarter av applikationer
Felsökning av arbetslasters
- Pendande pods
- Fel vid bildhämtning (Image pull failures)
- Kraschloopar
- Felaktigt konfigurerade miljövariabler
- Misslyckade monteringar
- O tillräckliga resurser
- Behörighetsfel
- Problem med tjänste- och routeanslutning
- DNS-problem
- Fel vid applikationsstart
Driftsäkerhet
- Granska behörigheter
- Användning av tjänstkonton
- Säker hantering av inloggningsuppgifter
- Bildsäkerhetsrutiner
- Nätverksisolering
- Plattformsåtkomstrevision
- Tillämpa minsta behörighetsprincipen
Underhåll och livscykushantering
- Regelbundna plattformskontroller
- Nodunderhåll
- Överväganden för applikationssäkerhetskopiering
- Säkerhetskopiera konfigurationer
- Planera uppdateringar
- Förändringshantering
- Testa uppdateringar
- Planera tillbakagångar (rollbacks)
- Koncept för katastrofinhämtning
Sista praktiska workshoppen
Deltagarna genomför en helhetsorienterad driftsscenariot:
- Bygg och tagga en containerbild.
- Lägg till bilden i ett register.
- Distribuera applikationen till Kubernetes eller OpenShift.
- Konfigurera inställningar och inloggningsuppgifter för applikationen.
- Exponera applikationen.
- Koppla persistenta lagringsresurser.
- Konfigurera åtkomstbehörigheter.
- Lägg till hälsokontroller.
- Skala och uppdatera applikationen.
- Felsök och lösa ett introducerat fel.
Kursformat
- Interaktiva föreläsningar och tekniska diskussioner.
- Instruktörsdemonstrationer.
- Extensiva praktiska övningar.
- Szenbaserade administrations- och felsökningsworkshops.
- Praktiskt arbete i container-, Kubernetes- och OpenShift-miljöer.
Kursskräddarsygningsalternativ
- Kursen kan anpassas efter deltagarnas befintliga infrastruktur, molnleverantör och containerverktyg.
- Balansen mellan Docker-, Kubernetes- och OpenShift-ämnen kan justeras beroende på teamets erfarenhet.
- Praktiska övningar kan skräddarsys efter organisationens applikationer, distributionsprocesser och driftkrav.
Varumärkeshänvisning
OpenShift är ett varumärke tillhörigt Red Hat, Inc. Denna självständigt utvecklade utbildning är inte kopplad till, godkänd av eller behörighet given av Red Hat.
Krav
Deltagarna bör ha:
- Erfarenhet av att använda Linux-kommandoraden.
- Grundläggande kunskaper inom systemsadministrering eller DevOps.
- Allmän förståelse för nätverksbegrepp.
- Kännedom om mjukvarudistributionsprocesser.
Tidigare erfarenhet av Docker, Kubernetes eller OpenShift är gyllene men inte obligatorisk.
Vittnesmål (7)
Reda förklarade och förenklat mycket av förståelsen
Eric Van Wyk
Kurs - Docker, Kubernetes and OpenShift 3 for Administrators
Maskintolkat
Labbarna var bästa. Mycket praktiska och ger hands-on erfarenhet. Personligen tror jag att det är den mest effektiva metoden för att verkligen förstå kursen och tillämpa de koncept som behandlats.
Hishaam Johnstone
Kurs - Docker, Kubernetes and OpenShift 3 for Administrators
Maskintolkat
Jag uppskattade väldigt att det fanns en vilja att hjälpa till och förklara mer när det var osäkert
Letlotlo Miffi
Kurs - Docker, Kubernetes and OpenShift 3 for Administrators
Maskintolkat
Adriano studerade ämnet mycket grundligt, vilket är den metod jag främst föredrar: mindre fokus på kommandon och mer på mekanismerna bakom dem. De diskuterade scenarierna var väl stödda av praktiska exempel, vilket hjälpte mycket till att förstå det presenterade materialet.
Mariusz BANASZCZYK - Sopra Steria
Kurs - Docker, Kubernetes and OpenShift for Administrators
Maskintolkat
Djup kunskap om Adriano. Förklaring av grundläggande koncept
Tomasz Szalankiewicz - LPP SA
Kurs - Docker, Kubernetes and OpenShift for Administrators
Maskintolkat
Jag tyckte generellt om föreläsaren.
Josif Kovacevic - ANZ
Kurs - Docker, Kubernetes and OpenShift for Administrators
Maskintolkat
Adrian clearly knows and enjoys this technology.
Tom Edginton - National Oceanography Centre
Kurs - Docker, Kubernetes and OpenShift for Administrators
Maskintolkat