From 53db68011c1a0c2d6d974c9d0e4fe76ed23c5d98 Mon Sep 17 00:00:00 2001 From: Benedikt Rollik Date: Fri, 26 Apr 2019 18:32:28 +0200 Subject: [PATCH] [DOCS-DE] Interactive tutorial (#13896) * interactive tutorial * Translation --- .../kubernetes-basics/explore/_index.md | 4 + .../explore/explore-interactive.html | 41 +++++ .../explore/explore-intro.html | 141 ++++++++++++++++++ .../kubernetes-basics/expose/_index.md | 4 + .../expose/expose-interactive.html | 38 +++++ .../expose/expose-intro.html | 114 ++++++++++++++ .../kubernetes-basics/scale/_index.md | 4 + .../scale/scale-interactive.html | 40 +++++ .../kubernetes-basics/scale/scale-intro.html | 121 +++++++++++++++ .../kubernetes-basics/update/_index.md | 4 + .../update/update-interactive.html | 37 +++++ .../update/update-intro.html | 137 +++++++++++++++++ 12 files changed, 685 insertions(+) create mode 100644 content/de/docs/tutorials/kubernetes-basics/explore/_index.md create mode 100644 content/de/docs/tutorials/kubernetes-basics/explore/explore-interactive.html create mode 100644 content/de/docs/tutorials/kubernetes-basics/explore/explore-intro.html create mode 100644 content/de/docs/tutorials/kubernetes-basics/expose/_index.md create mode 100644 content/de/docs/tutorials/kubernetes-basics/expose/expose-interactive.html create mode 100644 content/de/docs/tutorials/kubernetes-basics/expose/expose-intro.html create mode 100644 content/de/docs/tutorials/kubernetes-basics/scale/_index.md create mode 100644 content/de/docs/tutorials/kubernetes-basics/scale/scale-interactive.html create mode 100644 content/de/docs/tutorials/kubernetes-basics/scale/scale-intro.html create mode 100644 content/de/docs/tutorials/kubernetes-basics/update/_index.md create mode 100644 content/de/docs/tutorials/kubernetes-basics/update/update-interactive.html create mode 100644 content/de/docs/tutorials/kubernetes-basics/update/update-intro.html diff --git a/content/de/docs/tutorials/kubernetes-basics/explore/_index.md b/content/de/docs/tutorials/kubernetes-basics/explore/_index.md new file mode 100644 index 0000000000..a05b2ddc8e --- /dev/null +++ b/content/de/docs/tutorials/kubernetes-basics/explore/_index.md @@ -0,0 +1,4 @@ +--- +title: Entdecken Sie Ihre App +weight: 30 +--- diff --git a/content/de/docs/tutorials/kubernetes-basics/explore/explore-interactive.html b/content/de/docs/tutorials/kubernetes-basics/explore/explore-interactive.html new file mode 100644 index 0000000000..9d4026933e --- /dev/null +++ b/content/de/docs/tutorials/kubernetes-basics/explore/explore-interactive.html @@ -0,0 +1,41 @@ +--- +title: Interaktives Lernprogramm - Entdecken Sie Ihre App +weight: 20 +--- + + + + + + + + + + + +
+ +
+ +
+
+ +
+ Um mit dem Terminal zu interagieren, verwenden Sie bitte die Desktop- / Tablet-Version +
+ +
+
+
+ + +
+ +
+ + + diff --git a/content/de/docs/tutorials/kubernetes-basics/explore/explore-intro.html b/content/de/docs/tutorials/kubernetes-basics/explore/explore-intro.html new file mode 100644 index 0000000000..f220ff5eb7 --- /dev/null +++ b/content/de/docs/tutorials/kubernetes-basics/explore/explore-intro.html @@ -0,0 +1,141 @@ +--- +title: Anzeigen von Pods und Nodes +weight: 10 +--- + + + + + + + + + + +
+ +
+ +
+ +
+

Ziele:

+
    +
  • Erfahren Sie mehr über Kubernetes Pods.
  • +
  • Erfahren Sie mehr über Kubernetes-Nodes.
  • +
  • Beheben Sie Fehler in bereitgestellten Anwendungen.
  • +
+
+ +
+

Kubernetes Pods

+

Als Sie ein Deployment in Modul 2, hat Kubernetes einen Pod erstellt, der Ihre Anwendungsinstanz hostet. Ein Pod ist eine Kubernetes-Abstraktion, die eine Gruppe von einem oder mehreren Anwendungscontainern (z. B. Docker oder rkt) und einigen gemeinsam genutzten Ressourcen für diese Container darstellt. Diese Ressourcen umfassen:

+
    +
  • Gemeinsamer Speicher, als Volumes
  • +
  • Networking, als eindeutige Cluster-IP-Adresse
  • +
  • Informationen zur Ausführung der einzelnen Container, wie z.B. die Container-Image-Version oder bestimmte Ports, die verwendet werden sollen.
  • +
+

Ein Pod stellt einen anwendungsspezifischen "logischen Host" dar und kann verschiedene Anwendungscontainer enthalten, die relativ eng gekoppelt sind. Ein Pod kann beispielsweise sowohl den Container mit Ihrer Node.js-Applikation als auch einen anderen Container beinhalten, der die vom Webserver Node.js zu veröffentlichenden Daten einspeist. Die Container in einem Pod teilen sich eine IP-Adresse und einen Portbereich, sind immer kolokalisiert und gemeinsam geplant und laufen in einem gemeinsamen Kontext auf demselben Node.

+ +
+
+
+

Zusammenfassung:

+
    +
  • Pods
  • +
  • Nodes
  • +
  • Kubectl-Hauptbefehle
  • +
+
+
+

+ Ein Pod ist eine Gruppe von einem oder mehreren Anwendungscontainern (z. B. Docker oder rkt) und enthält gemeinsam genutzten Speicher (Volumes), IP-Adresse und Informationen zur Ausführung. +

+
+
+
+
+ +
+
+

Pods-Übersicht

+
+
+ +
+
+

+
+
+
+ +
+
+

Nodes

+

Ein Pod läuft immer auf einem Node. Ein Node ist eine Arbeitsmaschine in Kubernetes und kann je nach Cluster entweder eine virtuelle oder eine physische Maschine sein. Jeder Node wird vom Master verwaltet. Ein Node kann über mehrere Pods verfügen, und der Kubernetes-Master übernimmt automatisch die Planung der Pods für die Nodes im Cluster. Die automatische Zeitplanung des Masters berücksichtigt die verfügbaren Ressourcen auf jedem Node.

+ +

Auf jedem Kubernetes Node läuft mindestens:

+
    +
  • Kubelet, ein Prozess, der für die Kommunikation zwischen dem Kubernetes Master und dem Node verantwortlich ist; Er verwaltet die Pods und die auf einer Maschine laufenden Container.
  • +
  • Eine Containerlaufzeit (wie Docker, rkt), die für das Abrufen des Containerabbilds aus einer Registry, das Entpacken des Containers und das Ausführen der Anwendung verantwortlich ist.
  • +
+ +
+
+
+

Container sollten nur dann gemeinsam in einem Pod geplant werden, wenn sie eng miteinander verbunden sind und Ressourcen wie Festplatten gemeinsam nutzen müssen.

+
+
+
+ +
+ +
+
+

Node Überblick

+
+
+ +
+
+

+
+
+
+ +
+
+

Troubleshooting mit kubectl

+

In Modul 2 erstellt haben, haben Sie die Befehlszeilenschnittstelle von Kubectl verwendet. Sie verwenden sie weiterhin in Modul 3, um Informationen zu den bereitgestellten Anwendungen und ihren Umgebungen zu erhalten. Die häufigsten Operationen können mit den folgenden kubectl-Befehlen ausgeführt werden:

+
    +
  • kubectl get - Ressourcen auflisten
  • +
  • kubectl describe - Detaillierte Informationen zu einer Ressource anzeigen
  • +
  • kubectl logs - Die Logdateien von einem Container in einem Pod anzigen
  • +
  • kubectl exec - Einen Befehl für einen Container in einem Pod ausführen
  • +
+ +

Mit diesen Befehlen können Sie sehen, wann Anwendungen bereitgestellt wurden, ihren aktuellen Status anzeigen, sehen wo sie ausgeführt werden und wie sie konfiguriert sind.

+ +

Nun, da wir mehr über unsere Clusterkomponenten und die Befehlszeile wissen, wollen wir unsere Anwendung untersuchen.

+ +
+
+
+

Ein Node ist eine Arbeitsmaschine in Kubernetes und kann je nach Cluster eine VM oder eine physische Maschine sein. Auf einem Node können mehrere Pods laufen.

+
+
+
+
+ + + +
+ +
+ + + \ No newline at end of file diff --git a/content/de/docs/tutorials/kubernetes-basics/expose/_index.md b/content/de/docs/tutorials/kubernetes-basics/expose/_index.md new file mode 100644 index 0000000000..a08ce641fa --- /dev/null +++ b/content/de/docs/tutorials/kubernetes-basics/expose/_index.md @@ -0,0 +1,4 @@ +--- +title: Machen Sie Ihre App öffentlich zugänglich +weight: 40 +--- diff --git a/content/de/docs/tutorials/kubernetes-basics/expose/expose-interactive.html b/content/de/docs/tutorials/kubernetes-basics/expose/expose-interactive.html new file mode 100644 index 0000000000..2c6ebd5ecd --- /dev/null +++ b/content/de/docs/tutorials/kubernetes-basics/expose/expose-interactive.html @@ -0,0 +1,38 @@ +--- +title: Interaktives Lernprogramm - Ihre App öffentlich zugänglich machen +weight: 20 +--- + + + + + + + + + + + +
+ +
+ +
+
+ Um mit dem Terminal zu interagieren, verwenden Sie bitte die Desktop- / Tablet-Version +
+
+
+
+ + +
+ +
+ + + diff --git a/content/de/docs/tutorials/kubernetes-basics/expose/expose-intro.html b/content/de/docs/tutorials/kubernetes-basics/expose/expose-intro.html new file mode 100644 index 0000000000..07e76654a4 --- /dev/null +++ b/content/de/docs/tutorials/kubernetes-basics/expose/expose-intro.html @@ -0,0 +1,114 @@ +--- +title: Verwendung eines Services zum Veröffentlichen Ihrer App +weight: 10 +--- + + + + + + + + + +
+ +
+ +
+
+

Ziele:

+
    +
  • Erfahren Sie mehr über einen Service in Kubernetes
  • +
  • Verstehen, wie Labels und LabelSelector-Objekte sich auf einen Dienst beziehen
  • +
  • Stellen Sie eine Anwendung außerhalb eines Kubernetes-Clusters mithilfe eines Services bereit
  • +
+
+ +
+

Überblick über Kubernetes Services

+ +

Kubernetes Pods sind sterblich. Pods haben tatsächlich einen Lebenszyklus. Wenn ein Worker-Node stirbt, gehen auch die auf dem Knoten laufenden Pods verloren. Ein ReplicaSet kann dann durch Erstellen neuer Pods dynamisch den Cluster in den gewünschten Status zurückversetzen, damit die Anwendung weiterhin ausgeführt werden kann. Als ein anderes Beispiel betrachten wir ein Bildverarbeitungs-Backend mit 3 Reproduktionen. Diese Repliken sind austauschbar; Das Front-End-System sollte sich nicht für Backend-Replikate interessieren, selbst wenn ein Pod verloren geht und neu erstellt wird. Allerdings hat jeder Pod in einem Kubernetes-Cluster eine eindeutige IP-Adresse, sogar Pods auf demselben Knoten. Daher müssen Änderungen automatisch zwischen den Pods abgeglichen werden, damit Ihre Anwendungen weiterhin funktionieren.

+ +

Ein Dienst in Kubernetes ist eine Abstraktion, die einen logischen Satz von Pods und eine Richtlinie für den Zugriff auf diese definiert. Services ermöglichen eine lose Kopplung zwischen abhängigen Pods. Ein Service ist in YAML (bevorzugt) oder JSON spezifiziert, wie alle Kubernetes-Objekte. Die Gruppe von Pods, auf die ein Service abzielt, wird normalerweise von einem LabelSelector bestimmt (Siehe unten, warum Sie möglicherweise wünschen, einen Service ohne selector in die Spezifikation aufzunehmen).

+ +

Obwohl jeder Pod über eine eindeutige IP-Adresse verfügt, werden diese IP-Adressen nicht außerhalb des Clusters ohne einen Service verfügbar gemacht. Services ermöglichen es Ihren Anwendungen, Datenverkehr zu empfangen. Services können auf unterschiedliche Weise verfügbar gemacht werden, indem Sie einen type in der ServiceSpec angeben:

+
    +
  • ClusterIP (Standardeinstellung) - Macht den Service auf einer internen IP im Cluster verfügbar. Durch diesen Typ ist der Service nur innerhalb des Clusters erreichbar.
  • +
  • NodePort - Macht den Dienst auf demselben Port jedes ausgewählten Knotens im Cluster mithilfe von NAT verfügbar. Macht einen Dienst von außerhalb des Clusters mit <NodeIP>:<NodePort> zugänglich. Oberhalb von ClusterIP positioniert.
  • +
  • LoadBalancer - Erstellt einen externen Load-Balancer in der aktuellen Cloud (sofern unterstützt) und weist dem Service eine feste externe IP zu. Oberhalb von NodePort positioniert.
  • +
  • ExternalName - Macht den Dienst mit einem beliebigen Namen verfügbar (Spezifiziert durch externalName in der Konfiguration) indem Sie einen CNAME-Datensatz mit dem Namen zurückgeben. Kein Proxy wird verwendet. Für diesen Typ ist v1.7 von kube-dns oder höher erforderlich.
  • +
+

Weitere Informationen zu den verschiedenen Arten von Services finden Sie im Verwendung von Source IP Tutorial. Siehe auch Anwendungen mit Services verbinden.

+

Beachten Sie außerdem, dass es einige Anwendungsfälle mit Services gibt, bei denen keine selector Spezifikation in der Konfiguration nötig ist. Ein Service ohne selector erstellt auch nicht das entsprechende Endpunktobjekt. Auf diese Weise können Benutzer einen Service manuell bestimmten Endpunkten zuordnen. Eine andere Möglichkeit, warum es keinen Selektor gibt, ist die strikte Verwendung type: ExternalName.

+
+
+
+

Zusammenfassung:

+
    +
  • Pods externen Verkehr aussetzen
  • +
  • Lastverteilung über mehrere Pods
  • +
  • Labels verwenden
  • +
+
+
+

Ein Kubernetes Service ist eine Abstraktionsschicht, die einen logischen Satz von Pods definiert und den externen Datenverkehr, Lastverteilung und Service Discovery für diese Pods ermöglicht.

+
+
+
+
+ +
+
+

Services und Labels

+
+
+ +
+
+

+
+
+ +
+
+

Ein Service leitet den Traffic über eine Reihe von Pods. Services sind die Abstraktion, die es Pods ermöglichen, in Kubernetes zu sterben und sich zu replizieren, ohne die Anwendung zu beeinträchtigen. Die Erkennung und das Routing zwischen abhängigen Pods (z. B. Frontend- und Backend-Komponenten in einer Anwendung) werden von Kubernetes Services ausgeführt.

+

Services passen zu einem Satz von Pods mit Labels und Selektoren, eine einfache Gruppierung, die logische Operationen an Objekten in Kubernetes ermöglicht. Labels sind Schlüssel/Wert-Paare, die an Objekte angehängt werden, und können auf verschiedene Arten verwendet werden:

+
    +
  • Festlegen von Objekten für Entwicklung, Test und Produktion
  • +
  • Versions-Tags einbetten
  • +
  • Klassifizieren von Objekten mithilfe von Tags
  • +
+ +
+
+
+

Sie können einen Service gleichzeitig mit dem Erstellen eines Deployments erstellen, indem Sie
--expose in kubectl verwenden.

+
+
+
+ +
+ +
+
+

+
+
+
+
+
+

Labels können zum Zeitpunkt der Erstellung oder zu einem späteren Zeitpunkt an Objekte angehängt werden. Sie können jederzeit geändert werden. Lassen Sie uns jetzt unsere Anwendung mit einem Service verfügbar machen und einige Labels anbringen.

+
+
+
+ +
+
+ + + diff --git a/content/de/docs/tutorials/kubernetes-basics/scale/_index.md b/content/de/docs/tutorials/kubernetes-basics/scale/_index.md new file mode 100644 index 0000000000..9d7fc2c284 --- /dev/null +++ b/content/de/docs/tutorials/kubernetes-basics/scale/_index.md @@ -0,0 +1,4 @@ +--- +title: Skalieren Sie Ihre App +weight: 50 +--- diff --git a/content/de/docs/tutorials/kubernetes-basics/scale/scale-interactive.html b/content/de/docs/tutorials/kubernetes-basics/scale/scale-interactive.html new file mode 100644 index 0000000000..1ea0c1a70d --- /dev/null +++ b/content/de/docs/tutorials/kubernetes-basics/scale/scale-interactive.html @@ -0,0 +1,40 @@ +--- +title: Interaktives Lernprogramm - Skalieren Ihrer App +weight: 20 +--- + + + + + + + + + + + +
+ +
+ +
+
+ Um mit dem Terminal zu interagieren, verwenden Sie bitte die Desktop- / Tablet-Version +
+
+
+
+ + +
+ + + +
+ + + diff --git a/content/de/docs/tutorials/kubernetes-basics/scale/scale-intro.html b/content/de/docs/tutorials/kubernetes-basics/scale/scale-intro.html new file mode 100644 index 0000000000..e4e4e9e418 --- /dev/null +++ b/content/de/docs/tutorials/kubernetes-basics/scale/scale-intro.html @@ -0,0 +1,121 @@ +--- +title: Mehrere Instanzen Ihrer App ausführen +weight: 10 +--- + + + + + + + + + +
+ +
+ +
+ +
+

Ziele:

+
    +
  • Skalieren einer App mit kubectl.
  • +
+
+ +
+

Eine Anwendung skalieren

+ +

In den vorherigen Modulen haben wir ein Deployment erstellt, und es dann öffentlich mittels einem Service bereitgestellt. Das Deployment hat nur einen Pod für die Ausführung unserer Anwendung erstellt. Wenn der Anfragen zunehmen, müssen wir die Anwendung skalieren, um den Anforderungen der Benutzer gerecht zu werden.

+ +

Skalieren wird durch Ändern der Anzahl der Repliken in einer Bereitstellung erreichtt

+ +
+
+
+

Zusammenfassung:

+
    +
  • Skalieren eines Deployments
  • +
+
+
+

Sie können von Anfang an eine Bereitstellung mit mehreren Instanzen erstellen, indem Sie den Parameter --replicas mit dem Befehl `kubectl run` verwenden

+
+
+
+
+ +
+
+

Skalierung - Übersicht

+
+
+ +
+
+
+ +
+
+ +
+ +
+
+ +

Durch das Skalieren eines Deployments wird sichergestellt, dass neue Pods erstellt und auf Nodes mit verfügbaren Ressourcen geplant werden. Durch die Skalierung wird die Anzahl der Pods auf den neuen gewünschten Status erhöht. Kubernetes unterstützt auch die automatische Skalierung von Pods, dies ist jedoch außerhalb des Anwendungsbereichs dieses Lernprogramms. Die Skalierung auf Null ist ebenfalls möglich und beendet alle Pods der angegebenen Bereitstellung.

+ +

Das Ausführen mehrerer Instanzen einer Anwendung erfordert eine Möglichkeit, den Datenverkehr auf alle Anwendungen zu verteilen. Services verfügen über eine integrierte Lastverteilung, der den Netzwerkverkehr auf alle Pods eines bereitgestellten Deployments verteilt. Die Services überwachen kontinuierlich die laufenden Pods mithilfe von Endpunkten, um sicherzustellen, dass der Datenverkehr nur an die verfügbaren Pods gesendet wird.

+ +
+
+
+

Die Skalierung wird durch Ändern der Anzahl der Repliken in einer Bereitstellung erreicht.

+
+
+
+ +
+ +
+
+

Wenn Sie mehrere Instanzen einer Anwendung ausgeführt haben, können Sie Rolling-Updates ohne Ausfallzeiten durchführen. Wir werden das im nächsten Modul behandeln. Nun gehen wir zum Online-Terminal und skalieren unsere Anwendung.

+
+
+
+ + + +
+ +
+ + + diff --git a/content/de/docs/tutorials/kubernetes-basics/update/_index.md b/content/de/docs/tutorials/kubernetes-basics/update/_index.md new file mode 100644 index 0000000000..5d9e157161 --- /dev/null +++ b/content/de/docs/tutorials/kubernetes-basics/update/_index.md @@ -0,0 +1,4 @@ +--- +title: Aktualisieren Sie Ihre App +weight: 60 +--- diff --git a/content/de/docs/tutorials/kubernetes-basics/update/update-interactive.html b/content/de/docs/tutorials/kubernetes-basics/update/update-interactive.html new file mode 100644 index 0000000000..8971b0dd17 --- /dev/null +++ b/content/de/docs/tutorials/kubernetes-basics/update/update-interactive.html @@ -0,0 +1,37 @@ +--- +title: Interaktives Lernprogramm - Aktualisieren Ihrer App +weight: 20 +--- + + + + + + + + + + + +
+ +
+ +
+
+ Um mit dem Terminal zu interagieren, verwenden Sie bitte die Desktop- / Tablet-Version +
+
+
+
+ +
+ +
+ + + diff --git a/content/de/docs/tutorials/kubernetes-basics/update/update-intro.html b/content/de/docs/tutorials/kubernetes-basics/update/update-intro.html new file mode 100644 index 0000000000..98cdbc74f2 --- /dev/null +++ b/content/de/docs/tutorials/kubernetes-basics/update/update-intro.html @@ -0,0 +1,137 @@ +--- +title: Durchführen eines Rolling-Updates +weight: 10 +--- + + + + + + + + + + +
+ +
+ +
+ +
+

Objectives

+
    +
  • Führen Sie ein Rolling-Update mit kubectl durch.
  • +
+
+ +
+

Anwendung aktualisieren

+ +

Anwender erwarten, dass Anwendungen jederzeit verfügbar sind, und Entwickler haben das Bedürfnis mehrmals täglich neue Versionen davon bereitstellen. In Kubernetes geschieht dies mit laufenden Aktualisierungen. Rolling Updates ermöglichen die Aktualisierung von Deployments ohne Ausfallzeit, indem Pod-Instanzen inkrementell mit neuen aktualisiert werden. Die neuen Pods werden auf Nodes mit verfügbaren Ressourcen geplant.

+ +

Im vorherigen Modul haben wir unsere Anwendung so skaliert, dass mehrere Instanzen ausgeführt werden können. Dies ist eine Voraussetzung, um Aktualisierungen durchzuführen, ohne die Anwendungsverfügbarkeit zu beeinträchtigen. Standardmäßig ist die maximale Anzahl von Pods, die während der Aktualisierung nicht verfügbar sein kann, und die maximale Anzahl neuer Pods, die erstellt werden können, 1. Beide Optionen können entweder nach Zahlen oder Prozentsätzen (von Pods) konfiguriert werden. + In Kubernetes werden Updates versioniert und jedes Deployment-Update kann auf die vorherige (stabile) Version zurückgesetzt werden.

+ +
+
+
+

Zusammenfassung:

+
    +
  • App aktualisieren
  • +
+
+
+

Rolling Updates ermöglichen die Aktualisierung der Deployments ohne Ausfallzeit, indem Pod-Instanzen inkrementell mit neuen aktualisiert werden.

+
+
+
+
+ +
+
+

Rolling Updates - Übersicht

+
+
+
+
+
+ +
+
+
+ +
+
+ +

Ähnlich wie bei der Anwendungsskalierung wird der Datenverkehr, wenn ein Deployment öffentlich verfügbar gemacht wird, während der Aktualisierung auf die verfügbaren Pods lastverteilt. Ein verfügbarer Pod ist eine Instanz, die den Benutzern der Anwendung zur Verfügung steht.

+ +

Rolling Updates ermöglichen die folgenden Aktionen:

+
    +
  • Heraufstufen einer Anwendung von einer Umgebung in eine andere (über Aktualisierungen der Container-Images)
  • +
  • Rollback auf frühere Versionen
  • +
  • Kontinuierliche Integration und kontinuierliche Bereitstellung von Anwendungen ohne Ausfallzeiten
  • + +
+ +
+
+
+

Wenn ein Deployment öffentlich verfügbar gemacht wird, wird der Verkehr während des Updates nur auf verfügbare Pods verteilt.

+
+
+
+ +
+ +
+
+

Im folgenden interaktiven Tutorial werden wir unsere Anwendung auf eine neue Version aktualisieren und auch einen Rollback durchführen.

+
+
+
+ + + +
+ +
+ + +