Container Orchestration with Kubernetes K8
Kubernetes, ursprünglich von Google entworfen ist ein Open-Source-System zur Automatisierung der Bereitstellung, Skalierung und Verwaltung von Container-Anwendungen. Es zielt darauf ab, eine Plattform für das automatisierte Bespielen, Skalieren und Warten von Anwendungscontainern auf verteilten Hosts zu liefern. Es unterstützt eine Reihe von Container-Tools, einschließlich Docker. Kubernetes orchestriert sogenannte "Pods" als kleinste deploybare Einheit. Pods sind die Arbeiterprozesse, die auf Nodes im Cluster laufen und einen oder mehrere Container verwalten.
Dieser Kurs richtet sich an SUSE, Red Hat, Debian und Ubuntu System Administratoren und Entwickler die eine Container Plattform mit Microservices auf einem Kubernetes Cluster betreiben wollen. Anders wie in vielen Büchern beschrieben baut in diesem Kurs jeder Teilnehmer seine eigene komplett aus 3 Nodes bestehende Cluster Landschaft auf. Jeder Teilnehmer ist dadurch nach dem Kurs sofort in der Lage einen komplexen und eigenen Kubernetes Cluster im Unternehmen einzurichten.
Kursinhalte
- Überblick typischer Container Build Prozess
- Images, Containers, Build Prozess Möglichkeiten, Registries
- Grundlagen Kubernetes
- Warum Kubernetes?
- Auswahl der richtigen Container Runtime Umgebung
- Überblick Kubernetes Komponenten
- Container vs. Pods
- Aufbau des Kubernetes Masters (Control Panel)
- Cluster Datenbank (etcd), API Server, Scheduler
- Controller Manager, Replication Controller, Service Proxies
- Kubernetes Proxy, Controller Manager, DNS-Server (coredns)
- Worker Node Komponenten
- Kubernetes Namespaces (Mandantenfähigkeit)
- Kubernetes Cluster Setup
- Einrichten eines eigenen 3 Node Vanilla Kubernetes Clusters (K8s)
- Auswahl der richtigen Kubernetes Version
- Systemvoraussetzungen (Firewall Einstellungen, SWAP, Docker, Bridge Einstellungen, ...)
- Wichtige kubeadm init Parameter bei der Cluster Initialisierung
- Befehle zum prüfen des Cluster Status
- Weitere Worker Nodes in den Cluster joinen
- Kubernetes Networking
- Auswahl des richtigen Container Network Interfaces (CNI)
- Installation eines Pod Network Providers
- Kubernetes K8s Cluster Administration
- Kubernetes RESTful API
- Cluster Verwaltung mit Administrationswerkzeug kubectl
- kubectl Kommandos im Überblick
- Einrichten der kubectl TAB completion
- kubectl api-version und deprecations and removals
- Einrichten des webbasierenden Kubernetes Dashboards (Web-UI) zur Cluster Verwaltung
- Steuern des remote Zugriffes auf den Cluster
- Health-Check, Auto-Respawn und Skalierung
- Resource Monitoring und Logging
- Garbage Collection
- Imperative vs. Deklarativer Konfiguration
- Service Discovery (Manuell, Labels)
- Erstellen von eigenen Pods
- Richtiges Pod Design (Symbiose)
- Unterschiedliches Pod Verhalten im Vergleich zu klassischen Docker Containern
- Erstellen von imperativen Pods mit kubectl create
- Erstellen von komplexeren Applikation Pods mit replicaset und deployment Objekten
- Pod Deployment Phasen (Pending, Running, Succeeded, Failed, Unknown)
- Port Forwarding einrichten
- Container und Pod Logs auslesen
- Kubernetes Pod Manifests
- Aufbau von Pod Manifest Dateien
-
- apiVersion, kind, metadata, spec, ...
-
- Grundlagen YAML Syntax
- Begrenzer, Kommentare, Key Value Paaren
- Richtiges Einrückungen der YAML Komponenenten
- Listen, Dictionaries und Strings
- Mehrzeilige Strings (Literal Style, Foldes Style)
- Anker und Referenzen
- Schreiben von eigenen Kubernetes Manifest Dateien
- Deployen von Manifest Dateien im Cluster
- Kubernetes-Objekte erstellen, aktualisieren und löschen
- kubectl run, kubectl apply, kubectl create
- kubectl edit, kubectl delete, kubectl replace
- Aufbau von Pod Manifest Dateien
- Erstellen von komplexeren Applikation Pods
- Pod Health Checks einrichten
- Prozess-Health-Check
- Liveness-Health-Check
- Readiness-Health-Check
- Heapster und Metric Server einrichten
- Node Binding und Ressourcen Limitierung
- Pod Health Checks einrichten
- Objekt Labels und Annotations
- Einsatzgebiete von Labels und Annotations
- Komponenten Bindungen mit Labels einrichten
- Fortgeschrittenes Filtern und Grupperien von Cluster Objekten mit Labels
- Hinterlegen von Anmerkungen via Annotations
- Scheduler und Placement-Strategies
- Limits und Quotas
- Resource-based Placement
- Persistente und dynamische Storage-Volumes
- Node Binding und Ressourcen Limitierung
- Ressourcen Management
- Auslastungs Metric überwachen
- CPU und Speicher Requests und Limits definieren
- Out of Resource Handling
- Prozess Health-Check
- Liveness Health Check
- Pod Autoscaling (HPA)
- Kubernetes Daten Volumes
- Warum ist es wichtig Pod Daten in Volumes auszulagern?
- Überblick Kubernetes Volume Arten
- Erstellen von Kubernetes Volumes
- Einbinden von Volumes in Pods
- ReplicaSets
- Replicas für Redundanz, Skalierbarkeit, Sharding
- Reconciliation Schleife
- Erweitern eines Singleton Container mit einem ReplicaSets
- Automatisch skalieren mit ReplicaSets
- Set-based Label Selectors
- DaemonSets
- ReplicaSets vs. DaemonSets
- Pods mit DaemonSets verteilen
- Einschränkungen mit einem Node Selektor definieren
- Jobs
- Einzelne Tasks mit Jobs realisieren
- Restart Verhalten bei Fehlern
- Jobs Logging
- Deployments
- Rolling Updates
- Release Updates (up- und downgrade) bereitstellen
- Auswahl der richtigen Deployment Strategie
- Recreate, RollingUpdate
- maxUnavailable, maxSurge, minReadySeconds
- ConfigMaps und Secrets
- Wiederverwendbarkeits von Container Images verbessern
- Konfigurationseinstellungen mit ConfigMaps bereitstellen
- Vertrauliche Informationen (Passwörter, Private Key) mit Secrets bereitstellen
- Service Accounts
- Zugriffssteuerung auf Pods
- Tipps und Tricks aus über 10 Jahren Erfahrung mit Container Techniken des Trainers
Empfohlene Vorkenntnisse
Diese Schulung richtet sich an alle Teilnehmer mit Container Erfahrungen, wie sie in unserem Kurs "Docker Container Virtualisierung" vermittelt werden.
Details zu diesem Open Source Training
Kurstitel: | Container Orchestration with Kubernetes K8 |
Kurspreis: | 1.390,00 € exkl. MwSt pro Teilnehmer, Standardpreis ohne Rabatt |
Kursdatum: Kurszeiten: |
28.11.24 - 29.11.24 |
|
|
Kursort: |
LinuxCampus Sie können vom jedem Ort teilnehmen von dem Sie möchten und es ist keine Anreise notwendig. Sie benötigen nur eine Webcam, einen Webbrowser (ZOOM-Session) und einen VNC-Client für den Zugriff auf ihr Teilnehmer LAB. |
Details: |
Der Kurs ist auf 10 Teilnehmer beschränkt |
Kennen Sie schon das LinuxCampus.net Rabatt & Bonus System? |
Den Kurstermin 28.11.24 - 29.11.24 buchen
Schritt 1: Auswahl der Kursvariante (Classroom oder Live)
Schritt 2: Angabe der Teilnehmer Daten
Der Termin ist nicht veröffentlicht
Alternative Kursmöglichkeiten
Alternativer Kursort:
Dieses Thema kann auch als In-House Training oder Einzeltraining gebucht werden
Alternativer Termin:
Ab 3 Teilnehmern bieten wir Ihnen gerne einen auf Ihre Bedürfnisse abgestimmten Termin an
Weitere Termine zu diesem Kursthema