Vollständiges Kubernetes-Tutorial | Kubernetes-Kurs | Praktischer Kurs mit vielen Demos
Verbinde dich mit mir 👋
▬▬▬▬▬▬ Z E I T S T A M P E N ⏰ ▬▬▬▬▬▬
0:00 - Kursübersicht
2:18 - Was ist K8s
5:20 - Hauptkomponenten von K8s
22:29 - K8s-Architektur
34:47 - Minikube und kubectl - Lokale Einrichtung
44:52 - Hauptkubectl-Befehle - K8s CLI
1:02:03 - K8s YAML-Konfigurationsdatei
1:16:16 - Demo-Projekt: MongoDB und MongoExpress
1:46:16 - Organisieren deiner Komponenten mit K8s-Namespaces
2:01:52 - K8s Ingress erklärt
2:24:17 - Helm - Paketmanager
2:38:07 - Daten in K8s mit Volumes persistieren
2:58:38 - Bereitstellung von zustandsbehafteten Apps mit StatefulSet
3:13:43 - K8s-Dienste erklärt
▬▬▬▬▬▬ KURSÜBERSICHT 📚 ▬▬▬▬▬▬
🔥 Was ist Kubernetes 🔥
► Welche Probleme löst Kubernetes?
► Welche Funktionen bieten Container-Orchestrierungstools?
🔥 Hauptkomponenten von K8s 🔥
► Node & Pod
► Service & Ingress
► ConfigMap & Secret
► Volumes
► Deployment & StatefulSet
🔥 K8s-Architektur 🔥
► Worker Nodes
► Master Nodes
► Api Server
► Scheduler
► Controller Manager
► etcd - das Cluster-Gehirn
🔥 Minikube und kubectl - Lokale Einrichtung 🔥
► Was ist Minikube?
► Was ist kubectl?
► Minikube und kubectl installieren
► Erstelle und starte ein Minikube-Cluster
🔗 Links:
- Gitlab: Wenn du einen Mac verwendest, kannst du den Befehlen folgen. Ich habe sie hier aufgelistet:
https://bit.ly/3oZzuHY🔥 Hauptkubectl-Befehle - K8s CLI 🔥
► Status verschiedener Komponenten abrufen
► Erstelle ein Pod/Deployment
► Abstraktionsschichten
► Ändere das Pod/Deployment
► Debugging von Pods
► Pod/Deployment löschen
► CRUD durch Anwenden der Konfigurationsdatei
🔥 K8s YAML-Konfigurationsdatei 🔥
► 3 Teile einer Kubernetes-Konfigurationsdatei (Metadaten, Spezifikation, Status)
► Format der Konfigurationsdatei
► Blaupause für Pods (Vorlage)
► Verknüpfung von Diensten mit Deployments und Pods (Label & Selector & Port)
► Demo
🔥 Demo-Projekt 🔥
► Bereitstellung von MongoDB und Mongo Express
► MongoDB Pod
► Secret
► MongoDB Interner Dienst
► Deployment-Dienst und Config Map
► Mongo Express Externer Dienst
🔥 Organisieren deiner Komponenten mit K8s-Namespaces 🔥
► Was ist ein Namespace?
► 4 Standard-Namespaces
► Erstelle einen Namespace
► Warum Namespaces verwenden? 4 Anwendungsfälle
► Eigenschaften von Namespaces
► Komponenten in Namespaces erstellen
► Aktiven Namespace ändern
🔥 K8s Ingress erklärt 🔥
► Was ist Ingress? Externer Dienst vs. Ingress
► Beispiel-YAML-Konfigurationsdateien für externen Dienst und Ingress
► Interne Dienstkonfiguration für Ingress
► Wie konfiguriere ich Ingress in deinem Cluster?
► Was ist ein Ingress-Controller?
► Umgebung, in der dein Cluster läuft (Cloud-Anbieter oder Bare Metal)
► Demo: Ingress in Minikube konfigurieren
► Ingress Standard-Backend
► Routing-Anwendungsfälle
► Konfiguration des TLS-Zertifikats
🔗 Links:
🔥 Helm - Paketmanager 🔥
► Paketmanager und Helm-Charts
► Templating-Engine
► Anwendungsfälle für Helm
► Struktur von Helm-Charts
► Werteinfügung in Vorlagendateien
► Release-Management / Tiller (Helm Version 2!)
🔗 Links:
🔥 Daten in K8s mit Volumes persistieren 🔥
► Der Bedarf an persistentem Speicher & Speicheranforderungen
► Persistent Volume (PV)
► Lokale vs. Remote Volume-Typen
► Wer erstellt das PV und wann?
► Persistent Volume Claim (PVC)
► Ebenen der Volume-Abstraktionen
► ConfigMap und Secret als Volume-Typen
► Storage Class (SC)
🔥 Bereitstellung von zustandsbehafteten Apps mit StatefulSet 🔥
► Was ist StatefulSet? Unterschied zwischen zustandslosen und zustandsbehafteten Anwendungen
► Bereitstellung von zustandsbehafteten und zustandslosen Apps
► Deployment vs. StatefulSet
► Pod-Identität
► Skalierung von Datenbankanwendungen: Master- und Worker-Pods
► Pod-Zustand, Pod-Identifikator
► 2 Pod-Endpunkte
🔥 K8s-Dienste 🔥
► Was ist ein Dienst in K8s und wann benötigen wir ihn?
► ClusterIP-Dienste
► Dienstkommunikation
► Multi-Port-Dienste
► Headless-Dienste
► NodePort-Dienste
► LoadBalancer-Dienste