Ta kontakt

Kursplan

Dag 1 – Containere og bildehåndtering

Innføring i containerplattformer

  • Tradisjonell applikasjonsdistribusjon sammenlignet med distribusjon basert på containere
  • Containere og virtuelle maskiner
  • Container-tidslinjer (runtimes) og containermotorer
  • Rolle til Docker, Kubernetes og OpenShift
  • Vanlige arkitekturer for containerplattformer
  • Arbeidsflyter for utvikling, testning og produksjon

Arbeid med containere

  • Kjøre og håndtere containere
  • Containerens levetid
  • Starte, stoppe og fjerne containere
  • Kjøre kommandoer inne i containere
  • Miljøvariabler
  • Kartlegging av porter
  • Containerlogger
  • Ressursbruk og prosessinspeksjon

Bygge containerbilder

  • Bildets struktur og lag
  • Lage Dockerfiles og Containerfiles
  • Velge grunnleggende bilder
  • Legge til applikasjonsavhengigheter
  • Konfigurere oppstartspunkter (entry points) og kommandoer
  • Bildebufring
  • Redusere bildestørrelse
  • Bygge reproducerbare bilder

Containerregistre

  • Offentlige og private registre
  • Tagging og versjonering av bilder
  • Laste opp (push) og hente (pull) bilder
  • Bildeautentisering
  • Bildets beholdning og rengjøring
  • Grunnleggende sikkerhetsaspekter for bilder

Containernettverk og lagring

  • Konsepter for containernettverk
  • Bridge-nettverk
  • Eksponering av porter
  • Kommunikasjon mellom container
  • Bind mounts og volumer
  • Vedvarende containerdata
  • Hensyn til sikkerhetskopiering

Praktiske øvelser

  • Kjør og inspeksjoner containere
  • Bygg et applikasjonsbilde
  • Konfigurer porter og miljøvariabler
  • Publiser et bilde til et register
  • Lagre vedvarende data utenfor en container

Dag 2 – Kubernetes-arkitektur og arbeidsbyrder

Kubernetes-fundamenter

  • Hensikten med container-coordinering (orchestration)
  • Kubernetes-arkitektur
  • Kontrollplane-komponenter
  • Arbeidsknuter (worker nodes)
  • API-server
  • Scheduler
  • Kontrollere (controllers)
  • Klusterets tilstand og ønsket tilstand
  • Kommunisere med klusteret ved hjelp av kubectl

Kubernetes-ressurser

  • Pods
  • ReplicaSets
  • Deployments
  • Namspaces (rom)
  • Etiketter og annoteringer
  • Velgere (selectors)
  • Deklarative ressurdefinisjoner
  • YAML-manifester

Distribusjon av applikasjoner

  • Opprette og administrere Deployments
  • Skale arbeidsbyrder
  • Oppdatere containerbilder
  • Rullerende oppdateringer
  • Rullering tilbake (rollback)
  • Deployments historie
  • Omstart av arbeidsbyrder
  • Håndtering av applikasjonsreplikaer

Applikasjonskonfigurasjon

  • ConfigMaps
  • Secrets
  • Miljøvariabler
  • Konfigurasjonsfiler
  • Adskille applikasjonskode fra konfigurasjon
  • Håndtere miljøspesifikke innstillinger

Ressurshåndtering

  • CPU- og minneforespørsler
  • CPU- og minnegrenser
  • Resurskvoter
  • Grenseområder (limit ranges)
  • Schedulingskonsekvenser
  • Få diagnosen på feil relatert til ressurser

Praktiske øvelser

  • Distribuer en containerisert applikasjon
  • Lag og oppdater Kubernetes-manifester
  • Skaler en applikasjon
  • Utfør en rullerende oppdatering og rullering tilbake
  • Konfigurer applikasjonen ved hjelp av ConfigMaps og Secrets
  • Anvend resursforespørsler og grenser

Dag 3 – Kubernetes-nettverk, lagring og sikkerhet

Kubernetes-nettverk

  • Modell for klusternetverk
  • Kommunikasjon fra pod til pod
  • Tjenestedekning (service discovery)
  • DNS inne i klusteret
  • ClusterIP-tjenester
  • NodePort-tjenester
  • LoadBalancer-tjenester
  • Ingress-konsepter
  • Mønstre for applikasjonseksplosjon

Nettverkspolicyer

  • Kontrollere trafikk mellom arbeidsbyrder
  • Ingress- og egress-regler
  • Trafikkstyrring basert på namespace
  • Testing av nettverkskobling
  • Feilsøking av tjenestekommunikasjon

Vedvarende lagring

  • Ephemeral og vedvarende lagring
  • Volumer
  • PersistentVolumes
  • PersistentVolumeClaims
  • StorageClasses
  • Dynamisk provisioning
  • Tilgangsmåter (access modes)
  • Gjenopprettingspolicyer (reclaim policies)
  • Lagring for statiske applikasjoner

Kubernetes-tilgangskontroll

  • Konsepter for autentisering og autorisasjon
  • Rollebasert tilgangskontroll (RBAC)
  • Roles og ClusterRoles
  • RoleBindings og ClusterRoleBindings
  • Tjenestebrukerkontoer
  • Minst privilegert tilgang
  • Inspeksjon av effektive tillatelser

Sikkerhet for arbeidsbyrder

  • Sikkerhetskontekster
  • Kjøre containere som ikke-root
  • Linux-privilegier (capabilities)
  • Skrivebeskyttede filsystemer
  • Håndtering av hemmeligheter (secrets)
  • Bildets opprinnelse
  • Vanlige konfigurasjonsrisikoer

Praktiske øvelser

  • Eksplosjon av en applikasjon ved hjelp av Kubernetes-tjenester
  • Konfigurer ingress
  • Begrens trafikk ved hjelp av en nettverkspolicy
  • Provisioner vedvarende lagring
  • Konfigurer RBAC-tillatelser
  • Kjør en arbeidsbyrde med en passende sikkerhetskontekst

Dag 4 – Arbeid med OpenShift-miljøer

Innføring i OpenShift

  • OpenShift som en Kubernetes-basert applikasjonsplattform
  • Kubernetes-ressurser i et OpenShift-miljø
  • OpenShift klusterarkitektur
  • Prosjeckter og namespaces
  • Platformbrukere og tjenestebrukerkontoer
  • Arbeid med nettbasert konsoll
  • Arbeid med OpenShift CLI

Håndtering av prosjekter og tilgang

  • Opprette og administrere prosjekter
  • Tilordne bruker tillatelser
  • Roller på prosjektnivå
  • Administrativ tilgang
  • Resurskvoter
  • Grenseområder (limit ranges)
  • Tjenestebrukerkontoer
  • Gjennomgå prosjektressurser

Distribusjon av applikasjoner

  • Distribuer containerbilder
  • Opprette applikasjonsarbeidsbyrder
  • Håndtere deployments
  • Skale applikasjoner
  • Oppdatere applikasjonversjoner
  • Rullering tilbake
  • Håndtering av applikasjonskonfigurasjon
  • Arbeid med secrets

Applikasjonseksplosjon

  • Tjenester i OpenShift
  • Rutes (Routes)
  • TLS-konsepter
  • Intern og ekstern tilgang til applikasjoner
  • Vertsnavn og sertifikater
  • Få diagnose på rute- og tjenesteproblemer

Lagring i OpenShift

  • Persistent Volume Claims
  • StorageClasses
  • Koble lagring til arbeidsbyrder
  • Statisk arbeidsbyrder
  • Lagringsatilgangstillatelser
  • Feilsøking av montering av volumer

Scheduling og knuthåndtering

  • Etiketter og velgere
  • Knutvelgere
  • Taints og tolerasjoner
  • Affinity og anti-affinity-konsepter
  • Plassering av arbeidsbyrder
  • Cordering og draining av knuter
  • Hensyn til knutvedlikehold

Praktiske øvelser

  • Få tilgang til et OpenShift-miljø
  • Lag og konfigurer et prosjekt
  • Distribuer og eksplos en applikasjon
  • Konfigurer bruker- og tjenestebrukertilgang
  • Koble vedvarende lagring
  • Skaler og oppdater en kjørende arbeidsbyrde

Dag 5 – Drift, overvåking og feilsøking

Platformovervåking

  • Overvåking av klusterets og applikasjonens helse
  • Resursmetrikker
  • Knuthelse
  • Arbeidsbyrdestatus
  • Kapasitet og ressursoversikt
  • Identifisering av ytelsesbegrensninger

Logging og hendelser

  • Containerlogger
  • Pod-logger
  • Tidligere containerlogger
  • Kubernetes-hendelser
  • Applikasjons- og platformmeldinger
  • Filtrering og tolkning av operasjonelle data

Helsekontroller

  • Startup-prober
  • Readiness-prober
  • Liveness-prober
  • Utvikling av nyttige helseendepunkter
  • Få diagnose på proberfeil
  • Unngå unødvendige omstarter av applikasjoner

Feilsøking av arbeidsbyrder

  • Pending pods
  • Bildefeilkasting (image pull failures)
  • Krasjsirkler
  • Miskonfigurerte miljøvariabler
  • Feilaktige monteringer
  • Utilstrekkelige ressurser
  • Tillatelsesfeil
  • Koblingsproblemer med tjenester og ruter
  • DNS-problemer
  • Aplikasjonsstartsvikt

Operasjonell sikkerhet

  • Gjennomgang av tillatelser
  • Bruk av tjenestebrukerkontoer
  • Sikker håndtering av legitimasjon
  • Bildesikringspraksis
  • Nettverksisolering
  • Auditing av platformtilgang
  • Anvende prinsippet om minst privilegert tilgang

Vedlikehold og livssykelhåndtering

  • Rutinemessige plattformkontroller
  • Knutvedlikehold
  • Hensyn til applikasjonssikkerhetskopiering
  • Konfigurasjons sikkerhetskopiering
  • Oppdateringsplanlegging
  • Endringshåndtering
  • Testing av oppdateringer
  • Planlegging av rullering tilbake
  • Konsepter for katastrofeforbedring

Avsluttende praktisk verksted

Deltakerne fullfører en end-to-end operasjons scenario:

  • Bygg og tagg et containerbilde.
  • Publiser bildet til et register.
  • Distribuer applikasjonen til Kubernetes eller OpenShift.
  • Konfigurer applikasjonsinnstillinger og legitimasjon.
  • Eksplos applikasjonen.
  • Koble vedvarende lagring.
  • Konfigurer tilgangstillatelser.
  • Legge til helsekontroller.
  • Skaler og oppdater applikasjonen.
  • Få diagnose og løse en introdusert feil.

Kursformat

  • Interaktive forelesninger og tekniske diskusjoner.
  • Instruktørdemonstrasjoner.
  • Uttømmende praktiske øvelser.
  • Szenariobaserte administrator- og feilsøkingsverksteder.
  • Praktisk arbeid i container-, Kubernetes- og OpenShift-miljøer.

Kurstilpasningsalternativer

  • Kursene kan tilpasses deltakerens eksisterende infrastruktur, skytilbyder og containertools.
  • Balansen mellom Docker-, Kubernetes- og OpenShift-emner kan justeres i henhold til teamets erfaring.
  • Praktiske øvelser kan tilpasses organisasjonens applikasjoner, distribusjonsprosesser og driftskrav.

Varemerkevarsel

OpenShift er et varemerke for Red Hat, Inc. Denne uavhengig utviklede opplæringen er ikke tilknyttet, godkjent eller autorisert av Red Hat.

Krav

Deltakerne bør ha:

  • Erfaring med å bruke Linux-kommandolinjen.
  • Grunnleggende kunnskap om systemadministrasjon eller DevOps.
  • Generell forståelse av nettverkskonsepter.
  • Kjentskap til prosesser for programvaredistribusjon.

Tidligere erfaring med Docker, Kubernetes eller OpenShift er nyttig, men ikke et krav.

 35 Timer

Antall deltakere


Pris per deltaker

Referanser (7)

Kommende kurs

Relaterte kategorier