Das ist eine für den Ausdruck optimierte Ansicht des gesamten Kapitels inkl. Unterseiten.
Druckvorgang starten.
Zur Standardansicht zurückkehren.
 
Tutorials
    
      
Dieser Abschnitt der Kubernetes-Dokumentation enthält Tutorials.
Ein Tutorial zeigt, wie Sie ein Ziel erreichen, das größer ist als eine einzelne Aufgabe.
Ein Tutorial besteht normalerweise aus mehreren Abschnitten, die jeweils eine Abfolge von Schritten haben.
Bevor Sie die einzelnen Lernprogramme durchgehen, möchten Sie möglicherweise ein Lesezeichen zur Seite mit dem Standardisierten Glossar setzen um später Informationen nachzuschlagen.
Grundlagen
Konfiguration
Stateless Anwendungen
Stateful Anwendungen
Clusters
Services
Nächste Schritte
Wenn Sie ein Tutorial schreiben möchten, lesen Sie
Seitenvorlagen verwenden
für weitere Informationen zum Typ der Tutorial-Seite und zur Tutorial-Vorlage.
 
 
  
  
  
  
  
  
  
    
    
	
    
    
	1 - Hallo Minikube
    
	
Dieses Tutorial zeigt Ihnen, wie Sie eine einfache "Hallo Welt" Node.js-Anwendung auf Kubernetes mit Minikube und Katacoda ausführen.
Katacoda bietet eine kostenlose Kubernetes-Umgebung im Browser.
Hinweis:
Sie können dieses Tutorial auch verwenden, wenn Sie 
Minikube lokal installiert haben.
Ziele
- Stellen Sie eine Hallo-Welt-Anwendung für Minikube bereit.
- Führen Sie die App aus.
- Betrachten Sie die Log Dateien.
Bevor Sie beginnen
Dieses Lernprogramm enthält ein aus den folgenden Dateien erstelltes Container-Image:
    
    var http = require('http');
var handleRequest = function(request, response) {
  console.log('Received request for URL: ' + request.url);
  response.writeHead(200);
  response.end('Hello World!');
};
var www = http.createServer(handleRequest);
www.listen(8080);
 
    
    FROM node:6.14.2
EXPOSE 8080
COPY server.js .
CMD node server.js
 
Weitere Informationen zum docker build Befehl, lesen Sie die Docker Dokumentation.
Erstellen Sie einen Minikube-Cluster
- 
Klicken Sie auf Launch Terminal. Hinweis:Wenn Sie Minikube lokal installiert haben, führen Sieminikube startaus.
- 
Öffnen Sie das Kubernetes-Dashboard in einem Browser: 
- 
In einer Katacoda-Umgebung: Klicken Sie oben im Terminalbereich auf das Pluszeichen und anschließend auf Select port to view on Host 1. 
- 
In einer Katacoda-Umgebung: Geben Sie 30000ein und klicken Sie dann auf Display Port.
 
Erstellen eines Deployments
Ein Kubernetes Pod ist eine Gruppe von einem oder mehreren Containern, die zu Verwaltungs- und Netzwerkzwecken miteinander verbunden sind.
Der Pod in diesem Tutorial hat nur einen Container.
Ein Kubernetes Deployment überprüft den Zustand Ihres Pods und startet den Container des Pods erneut, wenn er beendet wird.
Deployments sind die empfohlene Methode zum Verwalten der Erstellung und Skalierung von Pods.
- 
Verwenden Sie den Befehl kubectl create, um ein Deployment zu erstellen, die einen Pod verwaltet.
Der Pod führt einen Container basierend auf dem bereitgestellten Docker-Image aus.
 kubectl create deployment hello-node --image=registry.k8s.io/e2e-test-images/agnhost:2.53 -- /agnhost netexec --http-port=8080
 
- 
Anzeigen des Deployments: Ausgabe: NAME         DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
hello-node   1         1         1            1           1m
 
- 
Den Pod anzeigen: Ausgabe: NAME                          READY     STATUS    RESTARTS   AGE
hello-node-5f76cf6ccf-br9b5   1/1       Running   0          1m
 
- 
Cluster Events anzeigen: 
- 
Die Konfiguration von kubectlanzeigen:
 
Erstellen Sie einen Service
Standardmäßig ist der Pod nur über seine interne IP-Adresse im Kubernetes-Cluster erreichbar.
Um den "Hallo-Welt"-Container außerhalb des virtuellen Netzwerks von Kubernetes zugänglich zu machen, müssen Sie den Pod als Kubernetes Service verfügbar machen.
- 
Stellen Sie den Pod mit dem Befehl kubectl exposeim öffentlichen Internet bereit:
 kubectl expose deployment hello-node --type=LoadBalancer --port=8080
 
Das Flag --type = LoadBalancerzeigt an, dass Sie Ihren Service außerhalb des Clusters verfügbar machen möchten.
 
- 
Zeigen Sie den gerade erstellten Service an: Ausgabe: NAME         TYPE           CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
hello-node   LoadBalancer   10.108.144.78   <pending>     8080:30369/TCP   21s
kubernetes   ClusterIP      10.96.0.1       <none>        443/TCP          23m
 
Bei Cloud-Anbietern, die Load-Balancer unterstützen, wird eine externe IP-Adresse für den Zugriff auf den Dienst bereitgestellt.
Bei Minikube ermöglicht der Typ LoadBalancerden Dienst über den Befehlminikube serviceverfügbar zu machen.
 
- 
Führen Sie den folgenden Befehl aus: minikube service hello-node
 
- 
In einer Katacoda-Umgebung: Klicken Sie auf das Pluszeichen und dann auf Select port to view on Host 1. 
- 
In einer Katacoda-Umgebung: Geben Sie "30369" ein (siehe Port gegenüber "8080" in der service ausgabe), und klicken Sie dann auf Daraufhin wird ein Browserfenster geöffnet, in dem Ihre App ausgeführt wird und die Meldung "Hello World" (Hallo Welt) angezeigt wird. 
Addons aktivieren
Minikube verfügt über eine Reihe von integrierten Add-Ons, die in der lokalen Kubernetes-Umgebung aktiviert, deaktiviert und geöffnet werden können.
- 
Listen Sie die aktuell unterstützten Addons auf: Ausgabe: addon-manager: enabled
coredns: disabled
dashboard: enabled
default-storageclass: enabled
efk: disabled
freshpod: disabled
heapster: disabled
ingress: disabled
kube-dns: enabled
metrics-server: disabled
nvidia-driver-installer: disabled
nvidia-gpu-device-plugin: disabled
registry: disabled
registry-creds: disabled
storage-provisioner: enabled
 
- 
Aktivieren Sie ein Addon, zum Beispiel heapster:
 minikube addons enable heapster
 
Ausgabe: heapster was successfully enabled
 
- 
Sehen Sie sich den Pod und den Service an, den Sie gerade erstellt haben: kubectl get pod,svc -n kube-system
 
Ausgabe: NAME                                        READY     STATUS    RESTARTS   AGE
pod/heapster-9jttx                          1/1       Running   0          26s
pod/influxdb-grafana-b29w8                  2/2       Running   0          26s
pod/kube-addon-manager-minikube             1/1       Running   0          34m
pod/kube-dns-6dcb57bcc8-gv7mw               3/3       Running   0          34m
pod/kubernetes-dashboard-5498ccf677-cgspw   1/1       Running   0          34m
pod/storage-provisioner                     1/1       Running   0          34m
NAME                           TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)             AGE
service/heapster               ClusterIP   10.96.241.45    <none>        80/TCP              26s
service/kube-dns               ClusterIP   10.96.0.10      <none>        53/UDP,53/TCP       34m
service/kubernetes-dashboard   NodePort    10.109.29.1     <none>        80:30000/TCP        34m
service/monitoring-grafana     NodePort    10.99.24.54     <none>        80:30002/TCP        26s
service/monitoring-influxdb    ClusterIP   10.111.169.94   <none>        8083/TCP,8086/TCP   26s
 
- 
Deaktivieren Sie heapster:
 minikube addons disable heapster
 
Ausgabe: heapster was successfully disabled
 
Aufräumen
Jetzt können Sie die in Ihrem Cluster erstellten Ressourcen bereinigen:
kubectl delete service hello-node
kubectl delete deployment hello-node
Stoppen Sie optional die virtuelle Minikube-Maschine (VM):
Löschen Sie optional die Minikube-VM:
Nächste Schritte