LFD459 Kubernetes für App-Entwickler
Classroom Schulung | Deutsch | Anspruch
Schulungsdauer: 3 Tage Durchführung gesichert
Ziele
Sie lernen in diesem Seminar, wie Sie eine Anwendung in einem Multi-Node-Cluster containerisieren, hosten, bereitstellen und konfigurieren. Ausgehend von einem einfachen Python-Skript definieren Sie Anwendungsressourcen und verwenden Core Primitives, um skalierbare Anwendungen in Kubernetes zu erstellen, zu überwachen und Fehler zu beheben. Bei der Arbeit mit Netzwerk-Plugins, Sicherheit und Cloud Storage werden Sie mit vielen der Funktionen konfrontiert, die für die Bereitstellung einer Anwendung in einer Produktionsumgebung erforderlich sind.
Zielgruppe
- Softwareentwickler
- Systemadministratoren
- App-Entwickler
Voraussetzungen
Sie sollten über grundlegende Linux-Kommandozeilen- und Dateibearbeitungsfähigkeiten verfügen und mit der Verwendung einer Programmiersprache (wie Python, Node.js, Go) vertraut sein. Kenntnisse über Cloud Native Anwendungskonzepte und -architekturen (wie sie in unserer kostenlosen Einführung in Kubernetes edX MOOC vermittelt werden) sind hilfreich für diesen Kurs.
Agenda
Kubernetes Architektur
- Was ist Kubernetes?
- Komponenten von Kubernetes
- Herausforderungen
- Das Borg-Erbe
- Kubernetes Architektur
- Terminologie
- Master-Knoten
- Vasallen-(Arbeiter-)Knoten
- Pods
- Dienstleistungen
- Steuerungen
- Einzelne IP pro Pod
- Netzwerkeinrichtung
- CNI-Netzwerk-Konfigurationsdatei
- Pod-zu-Pod-Kommunikation
- Cloud Native Computing Stiftung
- Ressourcenempfehlungen
Aufbauen
- Container-Optionen
- Containerisierung einer Anwendung
- Hosten eines lokalen Repository
- Erstellen eines Deployments
- Ausführen von Befehlen in einem Container
- Multi-Container-Pod
- readinessProbe
- livenessProbe
- Testing
Design
- Traditionelle Anwendungen: Überlegungen
- Entkoppelte Ressourcen
- Vergänglichkeit
- Flexibler Rahmen
- Verwalten der Ressourcennutzung
- Multi-Container-Pods
- Seitenwagen-Container
- Adapterbehälter
- Botschafter
Bereitstellungskonfigurationen
- Volume-Übersicht
- Einführung von Volumes
- Volumenspezifikation
- Volumentypen
- Beispiel für ein Shared Volume
- Beständige Volumina und Schadensfälle
- Persistentes Volumen
- Hartnäckiger Volumenanspruch
- Dynamische Bereitstellung
- Geheimnisse
- Verwendung von Secrets über Umgebungsvariablen
- Montage von Geheimnissen als Volumen
- Tragbare Daten mit ConfigMaps
- Verwendung von ConfigMaps
- Konfigurationsstatus der Bereitstellung
- Skalierung und rollierende Updates
- Rollbacks für die Bereitstellung
Sicherheit
- Sicherheitsübersicht
- Zugriff auf die API
- Authentifizierung
- Berechtigung
- ABAC
- RBAC
- RBAC Prozessübersicht
- Zugangskontrolleur
- Sicherheitskontexte
- Pod-Sicherheitsrichtlinien
- Netzwerksicherheitsrichtlinien
- Beispiel für eine Netzwerksicherheitsrichtlinie
- Beispiel für eine Standardrichtlinie
Exponieren von Anwendungen
- Servicetypen
- Leistungsdiagramm
- Service-Update-Muster
- Zugriff auf eine Anwendung mit einem Dienst
- Service ohne Selektor
- ClusterIP
- NodePort
- LoadBalancer
- ExternerName
- Ingress Resource
- Ingress Controller
Fehlerbehebung
- Übersicht über die Fehlerbehebung
- Grundlegende Schritte zur Fehlerbehebung
- Laufender (ständiger) Wandel
- Grundlegende Fehlerbehebung Flow: Pods
- Grundlegender Ablauf der Fehlerbehebung: Knoten und Sicherheit
- Grundlegende Fehlerbehebung Ablauf: Agenten
- Überwachung
- Protokollierungswerkzeuge
- Überwachungsanwendungen
- System- und Agentenprotokolle
- Konformitätstests
Ziele
Sie lernen in diesem Seminar, wie Sie eine Anwendung in einem Multi-Node-Cluster containerisieren, hosten, bereitstellen und konfigurieren. Ausgehend von einem einfachen Python-Skript definieren Sie Anwendungsressourcen und verwenden Core Primitives, um skalierbare Anwendungen in Kubernetes zu erstellen, zu überwachen und Fehler zu beheben. Bei der Arbeit mit Netzwerk-Plugins, Sicherheit und Cloud Storage werden Sie mit vielen der Funktionen konfrontiert, die für die Bereitstellung einer Anwendung in einer Produktionsumgebung erforderlich sind.
Zielgruppe
- Softwareentwickler
- Systemadministratoren
- App-Entwickler
Voraussetzungen
Sie sollten über grundlegende Linux-Kommandozeilen- und Dateibearbeitungsfähigkeiten verfügen und mit der Verwendung einer Programmiersprache (wie Python, Node.js, Go) vertraut sein. Kenntnisse über Cloud Native Anwendungskonzepte und -architekturen (wie sie in unserer kostenlosen Einführung in Kubernetes edX MOOC vermittelt werden) sind hilfreich für diesen Kurs.
Agenda
Kubernetes Architektur
- Was ist Kubernetes?
- Komponenten von Kubernetes
- Herausforderungen
- Das Borg-Erbe
- Kubernetes Architektur
- Terminologie
- Master-Knoten
- Vasallen-(Arbeiter-)Knoten
- Pods
- Dienstleistungen
- Steuerungen
- Einzelne IP pro Pod
- Netzwerkeinrichtung
- CNI-Netzwerk-Konfigurationsdatei
- Pod-zu-Pod-Kommunikation
- Cloud Native Computing Stiftung
- Ressourcenempfehlungen
Aufbauen
- Container-Optionen
- Containerisierung einer Anwendung
- Hosten eines lokalen Repository
- Erstellen eines Deployments
- Ausführen von Befehlen in einem Container
- Multi-Container-Pod
- readinessProbe
- livenessProbe
- Testing
Design
- Traditionelle Anwendungen: Überlegungen
- Entkoppelte Ressourcen
- Vergänglichkeit
- Flexibler Rahmen
- Verwalten der Ressourcennutzung
- Multi-Container-Pods
- Seitenwagen-Container
- Adapterbehälter
- Botschafter
Bereitstellungskonfigurationen
- Volume-Übersicht
- Einführung von Volumes
- Volumenspezifikation
- Volumentypen
- Beispiel für ein Shared Volume
- Beständige Volumina und Schadensfälle
- Persistentes Volumen
- Hartnäckiger Volumenanspruch
- Dynamische Bereitstellung
- Geheimnisse
- Verwendung von Secrets über Umgebungsvariablen
- Montage von Geheimnissen als Volumen
- Tragbare Daten mit ConfigMaps
- Verwendung von ConfigMaps
- Konfigurationsstatus der Bereitstellung
- Skalierung und rollierende Updates
- Rollbacks für die Bereitstellung
Sicherheit
- Sicherheitsübersicht
- Zugriff auf die API
- Authentifizierung
- Berechtigung
- ABAC
- RBAC
- RBAC Prozessübersicht
- Zugangskontrolleur
- Sicherheitskontexte
- Pod-Sicherheitsrichtlinien
- Netzwerksicherheitsrichtlinien
- Beispiel für eine Netzwerksicherheitsrichtlinie
- Beispiel für eine Standardrichtlinie
Exponieren von Anwendungen
- Servicetypen
- Leistungsdiagramm
- Service-Update-Muster
- Zugriff auf eine Anwendung mit einem Dienst
- Service ohne Selektor
- ClusterIP
- NodePort
- LoadBalancer
- ExternerName
- Ingress Resource
- Ingress Controller
Fehlerbehebung
- Übersicht über die Fehlerbehebung
- Grundlegende Schritte zur Fehlerbehebung
- Laufender (ständiger) Wandel
- Grundlegende Fehlerbehebung Flow: Pods
- Grundlegender Ablauf der Fehlerbehebung: Knoten und Sicherheit
- Grundlegende Fehlerbehebung Ablauf: Agenten
- Überwachung
- Protokollierungswerkzeuge
- Überwachungsanwendungen
- System- und Agentenprotokolle
- Konformitätstests