Cursusaanbod
Dag 1 – Containers en beheer van images
Inleiding tot containerplatforms
- Vergelijking tussen traditionele applicatieimplementatie en implementatie op basis van containers
- Containers versus virtuele machines
- Containerruntime’s en -motoren
- De rol van Docker, Kubernetes en OpenShift
- Veelvoorkomende architecturen van containerplatforms
- Workflows voor ontwikkeling, testen en productie
Werken met containers
- Containers uitvoeren en beheren
- De levenscyclus van een container
- Een container starten, stoppen en verwijderen
- Opdrachten uitvoeren binnen een container
- Omgevingsvariabelen configureren
- Poortmapping instellen
- Containerlogboeken bekijken
- Resourcegebruik en inspectie van processen analyseren
Containerimages bouwen
- Structuur en lagen van een image
- Een Dockerfile of Containerfile maken
- Selecteren van basisimages
- Toevoegen van applicatieafhankelijkheden
- Entrypoints en commando’s configureren
- Caching van images faciliteren
- De grootte van het image minimaliseren
- Reproduceerbare images bouwen
Containerregistries
- Openbare en privé-registries
- Taggen en versiebeheer van images
- Een image uploaden naar of downloaden uit een registry
- Authenticatie bij een containerregistry
- Opschonen en verwijderen van oude images
- Basisprincipes voor beveiliging van images
Netwerken en opslag bij containers
- Concepten rondom containernetwerken
- Bridge-netwerken configureren
- Poorten blootleggen voor externe toegang
- Communicatie tussen containers onderling regelen
- Bindmounts en volumes gebruiken
- Permanente opslag van containergegevens realiseren
- Back-upmogelijkheden in ogenschouw nemen
Praktische oefeningen
- Containers uitvoeren en onderzoeken
- Een applicatie-image bouwen
- Poorten en omgevingsvariabelen configureren
- Een image publiceren op een registry
- Permanente gegevens opslaan buiten de container
Dag 2 – Kubernetes-architectuur en workloads
Kubernetes-basics
- Het nut van het orchestreren van containers
- De architectuur van Kubernetes
- Componenten binnen het control plane
- Worker-nodes beschrijven
- De API-server verklaren
- Functie en werking van de scheduler
- Rollen van controllers in Kubernetes
- Hoe het cluster zijn gewenste status bereikt
- Het communiceren met het cluster via kubectl uitleggen
Kubernetes-resources
- Pods beschrijven
- ReplicaSets en hun nut
- Deployments verklaren
- Namespaces begrijpen
- Labels en annotations uitleggen
- Selectors beschrijven
- Declaratieve definities van resources
- Het gebruik van YAML-manifests toelichten
Toepassingen implementeren
- Een Deployment aanmaken en beheren
- Workloads schalen naar behoefte
- Nieuwe containerimages implementeren
- Rolling updates plannen en uitvoeren
- Rollbacks bij problemen regelen
- Geschiedenis van Deployments bijhouden
- Een workload herstarten
- Aantal replica’s aanpassen indien nodig
Configuratie van toepassingen
- ConfigMaps beheren
- Secrets gebruiken
- Omgevingsvariabelen instellen
- Configuratiebestanden configureren
- Afscheiden van applicatiecode en configuraties realiseren
- Instellingen specifiek voor elke omgeving aanpassen
Resourcebeheer
- CPU- en geheugenverzoeken specificeren
- Limieten vaststellen voor CPU en geheugen
- Resourcequota’s toepassen
- Default limietbereiken instellen
- Invloed van resources op de scheduling verklaren
- Oorzaken van resourcegerelateerde storingen achterhalen
Praktische oefeningen
- Een containergebaseerde toepassing implementeren
- Kubernetes-manifests aanmaken en wijzigen
- De toepassing schalen naar behoefte
- Een rolling update uitvoeren met een rollback
- ConfigMaps en Secrets gebruiken voor configuratie
- Resourceverzoeken en -limieten configureren
Dag 3 – Kubernetes-netwerken, opslag en beveiliging
Netwerken binnen Kubernetes
- Het netwerkmodel van een cluster beschrijven
- Communicatie tussen pods onderling
- Service discovery realiseren
- DNS-functies binnen het cluster verklaren
- ClusterIP-services toelichten
- NodePort-services instellen
- LoadBalancer-services configureren
- Concepten rondom ingress
- Strategieën voor het blootleggen van toepassingen bespreken
Netwerkbeleidssystemen
- Verkeer tussen workloads reguleren
- Ingress- en egressregels beheren
- Namespace-gebaseerde toegangscontrole implementeren
- Netwerkconnectiviteit testen
- Problemen bij servicecommunicatie oplossen
Permanente opslag regelen
- Onderscheid maken tussen tijdelijke en permanente opslag
- Volumes definiëren
- PersistentVolumes configureren
- PersistentVolumeClaims aanmaken
- StorageClasses selecteren
- Dynamische provisioning beheren
- Toegangsmethoden specificeren
- Retentiebeleid van opslag regelen
- Opslagbeheer voor stateful toepassingen plannen
Toegangscontrole in Kubernetes
- Authenticatie en autorisatieprincipes verklaren
- Role-Based Access Control toepassen
- Rollen en ClusterRoles beheren
- RoleBindings en ClusterRoleBindings configureren
- Serviceaccounts instellen
- Toegang verlenen volgens het principe van minimale privileges
- De effectieve toegangsrechten inspecteren
Beveiliging van workloads
- Security contexts beheren
- Een container uitvoeren zonder root-privileges
- Linux-capabilities configureren
- Een read-only bestandssysteem instellen
- Secret-data correct afhandelen
- Oorsprong van images controleren
- Veelvoorkomende fouten in configuraties voorkomen
Praktische oefeningen
- Een toepassing blootleggen met behulp van Kubernetes-services
- Ingress configureren
- Verkeer beperken via een netwerkbeleid
- Permanente opslag leveren
- RBAC-toegangsrechten instellen
- Een workload draaien met de juiste security settings
Dag 4 – Werken in OpenShift-omgevingen
Introductie tot OpenShift
- OpenShift als applicatieplatform op basis van Kubernetes
- Kubernetes-resources binnen een OpenShift-omgeving gebruiken
- Architectuur van een OpenShift-cluster verklaren
- Projecten en namespaces in OpenShift
- Gebruikers en serviceaccounts beheren
- De webconsole gebruiken
- Het OpenShift CLI hanteren
Projecten en toegangsrechten beheren
- Nieuwe projecten aanmaken en onderhouden
- Gebruikers autorisaties toekennen
- Rollen specifiek per project instellen
- Beheerdersrechten verlenen
- Resourcequota’s regelen
- Limietbereiken vaststellen
- Serviceaccounts configureren
- Huidige projectbronnen controleren
Toepassingen implementeren
- Containerimages draaien in OpenShift
- Nieuwe workloads aanmaken
- Een Deployment beheren
- De toepassing schalen naar behoefte
- Versies van een applicatie updaten
- Rollbacks bij problemen regelen
- Toepassingsinstellingen aanpassen
- Secret-data correct gebruiken
Blootleggen van toepassingen
- Services in OpenShift beheren
- Routes configureren
- TLS-beveiliging instellen
- Toegang tot de applicatie binnen en buiten het netwerk regelen
- Hostnamen en certificaten configureren
- Problemen met routes en services diagnosticeren
Opslag in OpenShift afhandelen
- Persistent Volume Claims gebruiken
- StorageClasses selecteren
- Opslag koppelen aan workloads
- Stateful workloads ondersteunen
- Toegangsrechten voor opslag beheren
- Problemen bij volumekoppeling oplossen
Scheduling en nodebeheer
- Labels en selectors gebruiken
- Node selectors instellen
- Taints en tolerations configureren
- Affinity- en anti-affinity-principes uitleggen
- Plaatsing van workloads bepalen
- Nodes cordonen en leegmaken
- Overwegingen bij onderhoud aan nodes plannen
Praktische oefeningen
- Toegang krijgen tot een OpenShift-omgeving
- Een nieuw project aanmaken en configureren
- Een toepassing implementeren en blootleggen
- Zowel gebruikers als serviceaccounts autorisaties geven
- Permanente opslag koppelen
- Een draaiende workload schalen en updaten
Dag 5 – Operationeel beheer, monitoring en troubleshooten
Platformmonitoring realiseren
- Gezondheid van het cluster en toepassingen monitoren
- Resourcemetingen verzamelen
- Status van nodes controleren
- Workloadstatus evalueren
- Capaciteit en gebruik van resources analyseren
- Bottlenecks in prestaties identificeren
Logging en events verwerken
- Containerlogboeken bekijken
- Pod-logs onderzoeken
- Oude containerlogboeken terugvinden
- Kubernetes-events analyseren
- Platform- en applicatiemeldingen verwerken
- Operationale data filteren en interpreteren
Health checks toepassen
- Startup-probes configureren
- Readiness-probes instellen
- Liveness-probes specificeren
- Praktische health-endpoints ontwerpen
- Oorzaken van mislukte probes achterhalen
- Onnodige applicatieherstarts voorkomen
Troubleshooting van workloads verrichten
- Pods in pending-status identificeren
- Oorzaken van image pull-fouten vaststellen
- Crash loops opsporen en verhelpen
- Foute omgevingsvariabelen corrigeren
- Mislukte mounts oplossen
- Te weinig resources als oorzaak identificeren
- Permissieproblemen achterhalen
- Toegangsproblemen met services en routes verhelpen
- DNS-problemen diagnosticeren
- Fouten bij het starten van applicaties vaststellen
Operatiebeveiliging garanderen
- Toegangsrechten controleren
- Gebruik van serviceaccounts reguleren
- Credentials veilig verwerken
- Beveiligingspraktijken rondom images toepassen
- Netwerkisolatie realiseren
- Toegangslogboeken controleren op anomalieën
- Toepassing van het minimale-privilegesprincipe bewaken
Onderhoud en lifecycle-beheer plannen
- Routinechecks aan het platform uitvoeren
- Node-onderhoud organiseren
- Backup-strategieën voor applicaties plannen
- Configuratie-backups maken
- Update-processen voorbereiden
- Change management regelen
- Updates testen op compatibiliteit
- Rollback-strategieën vaststellen
- Concepten rond disaster recovery bespreken
Slotpraktijkworkshop
Deelnemers voltooien een eindgeörienteerd scenario:
- Een containerimage bouwen en taggen.
- Het image publiceren op een registry.
- De toepassing implementeren binnen Kubernetes of OpenShift.
- Instellingen en credentials van de applicatie configureren.
- Externe toegang tot de applicatie mogelijk maken.
- Permanente opslag aan de toepassing koppelen.
- Toegangsrechten instellen voor verschillende gebruikers.
- Health checks integreren in de applicatie.
- De workload schalen en bijwerken na verloop van tijd.
- Een bewust geïntroduceerde fout diagnosticeren en oplossen.
Cursusindeling
- Interactieve lezingen en technische discussies
- Demonstaties uitgevoerd door de instructeur
- Uitgebreide praktijkoefeningen
- Scenario-gebaseerde workshops voor administratie en troubleshooten
- Hands-on werkzaamheden binnen container-, Kubernetes- en OpenShift-omgevingen
Aanpassingsmogelijkheden van de cursus
- De inhoud kan worden aangepast aan de bestaande infrastructuur, cloudprovider en gebruikte containertools van deelnemers.
- De verhouding tussen Docker-, Kubernetes- en OpenShift-onderwerpen kan afgestemd worden op het niveau van de groep.
- Praktische oefeningen kunnen specifiek worden ingericht op de applicaties, implementatieprocessen en operationele behoeften van uw organisatie.
Aanmerking over merkrechten
OpenShift is een handelsmerk van Red Hat, Inc. Deze onafhankelijk ontwikkelde training heeft geen banden met, wordt niet ondersteund door of geautoriseerd door Red Hat.
Vereisten
Deelnemers dienen te beschikken over:
- Ervaring met het gebruik van de Linux-commandozegel.
- Basiskennis van systeembeheer of DevOps-praktijken.
- Een algemeen begrip van netwerkconcepten.
- Vertrouwdheid met softwareimplementatieprocessen.
Voorafgaande kennis van Docker, Kubernetes of OpenShift is handig, maar niet vereist.
Aangepaste bedrijfsopleiding
Opleidingsoplossingen ontworpen exclusief voor bedrijven.
- Aangepaste inhoud: We passen de syllabus en praktijkopdrachten aan naar de echte doelen en behoeften van uw project.
- Voor flexibel schema: Datums en tijden aangepast aan het rooster van uw team.
- Formaat: Online (live), In-company (bij uw kantoren) of Hybride.
Prijs per privégroep, online live training, startend vanaf 8000 € + BTW*
Neem contact met ons op voor een exacte offerte en om onze laatste promoties te horen
Reviews (7)
Reda verduidelijkt de uitleg en vereenvoudigt veel van het begrip
Eric Van Wyk
Cursus - Docker, Kubernetes and OpenShift 3 for Administrators
Automatisch vertaald
De labo's waren het beste. Ze zijn zeer praktisch en bieden handson ervaring. Persoonlijk denk ik dat het de meest effectieve manier is om het vak echt te begrijpen en de behandelde concepten toe te passen.
Hishaam Johnstone
Cursus - Docker, Kubernetes and OpenShift 3 for Administrators
Automatisch vertaald
Ik vond het geweldig dat er bereidheid was om verder te helpen en uit te leggen wanneer er onzekerheid was
Letlotlo Miffi
Cursus - Docker, Kubernetes and OpenShift 3 for Administrators
Automatisch vertaald
Adriano studeerde het onderwerp zeer diepgaand, wat de stijl is die ik het meest waarder: minder over de opdrachten en meer over de werking erachter. De besproken scenario's werden goed ondersteund door praktische voorbeelden, wat veel hielp om het gepresenteerde materiaal te begrijpen.
Mariusz BANASZCZYK - Sopra Steria
Cursus - Docker, Kubernetes and OpenShift for Administrators
Automatisch vertaald
Diepgaande kennis van Adriano. Uitleg van basisconcepten
Tomasz Szalankiewicz - LPP SA
Cursus - Docker, Kubernetes and OpenShift for Administrators
Automatisch vertaald
Ik vond de presentator over het algemeen goed.
Josif Kovacevic - ANZ
Cursus - Docker, Kubernetes and OpenShift for Administrators
Automatisch vertaald
Adrian clearly knows and enjoys this technology.
Tom Edginton - National Oceanography Centre
Cursus - Docker, Kubernetes and OpenShift for Administrators
Automatisch vertaald