Mit dem Aufkommen cloudnativer Anwendungen ist Kubernetes zum De-facto-Standard für die Container-Orchestrierung geworden. Da Kubernetes Open Source ist und auf verschiedenen Linux-Distributionen ausgeführt werden kann, ist es in Linux-Systemen weit verbreitet, Kubernetes-Container-Orchestrierung zu verwenden. In diesem Artikel erfahren Sie, wie Sie Kubernetes in einem Linux-System installieren und konfigurieren und wie Sie Kubernetes für die Container-Orchestrierung verwenden.
Die Installation von Kubernetes in einem Linux-System erfordert normalerweise die folgenden Schritte:
1.1 Docker installieren
Da Kubernetes Docker als Container-Laufzeitumgebung verwendet, müssen Sie Docker zuerst installieren. Im Ubuntu-System können Sie den folgenden Befehl verwenden, um Docker zu installieren:
sudo apt-get update sudo apt-get install docker.io
Im CentOS-System können Sie den folgenden Befehl verwenden, um Docker zu installieren:
sudo yum install docker sudo systemctl start docker sudo systemctl enable docker
1.2 Kubernetes installieren
Im Ubuntu-System können Sie den folgenden Befehl verwenden Kubernetes installieren:
sudo apt-get update && sudo apt-get install -y apt-transport-https curl curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list sudo apt-get update sudo apt-get install -y kubelet kubeadm kubectl
In CentOS-Systemen können Sie den folgenden Befehl verwenden, um Kubernetes zu installieren:
sudo yum install -y epel-release sudo yum update -y sudo yum install -y kubelet kubeadm kubectl sudo systemctl enable kubelet && sudo systemctl start kubelet
2.1 Masterknoten initialisieren
In einem Kubernetes-Cluster ist der Masterknoten für die Verwaltung des gesamten Knotens verantwortlich Cluster. Um den Master-Knoten zu initialisieren, müssen Sie den folgenden Befehl ausführen:
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
Dieser Befehl installiert die erforderlichen Komponenten und generiert einen Befehl zum Beitritt zum Knoten. Die letzten paar Zeilen der Ausgabe des Ausführungsbefehls enthalten den Befehl zum Beitritt zum Knoten, wie zum Beispiel:
kubeadm join 192.168.1.100:6443 --token abcdef.0123456789abcdef --discovery-token-ca-cert-hash sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
Bitte beachten Sie, dass die Ausgabe dieses Befehls eindeutig sein und nur für diesen Master-Knoten gelten sollte.
2.2 Worker-Knoten beitreten
Um den Worker-Knoten zum Kubernetes-Cluster hinzuzufügen, müssen Sie die Ausgabe des Befehls „Join Node“ im vorherigen Schritt ausführen. Beispiel:
sudo kubeadm join 192.168.1.100:6443 --token abcdef.0123456789abcdef --discovery-token-ca-cert-hash sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
Durch Ausführen dieses Befehls werden die erforderlichen Komponenten installiert und der Worker-Knoten zum Cluster hinzugefügt.
2.3 Netzwerk-Plug-in installieren
Kubernetes erfordert ein Netzwerk-Plug-in, um die Vernetzung von Pods bereitzustellen. Zu den häufig verwendeten Netzwerk-Plug-ins gehören Flannel und Calico. Hier entscheiden wir uns für die Installation von Flannel. Um Flannel zu installieren, können Sie den folgenden Befehl ausführen:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
Jetzt haben wir Kubernetes erfolgreich auf unserem Linux-System installiert und konfiguriert. Als Nächstes stellen wir vor, wie Sie Kubernetes für die Container-Orchestrierung verwenden.
3.1 Bereitstellung erstellen
In Kubernetes ist Bereitstellung eine Abstraktion zum Erstellen und Verwalten von Pods. Um eine Bereitstellung zu erstellen, verwenden Sie den Befehl kubectl. Um beispielsweise eine Bereitstellung mit dem Namen nginx zu erstellen, können Sie den folgenden Befehl ausführen:
kubectl create deployment nginx --image=nginx
Dieser Befehl stellt einen Container mit dem Namen nginx bereit und verwendet dabei das nginx-Image auf Docker Hub.
3.2 Bereitstellung bearbeiten
Um eine Bereitstellung zu ändern, können Sie den Befehl kubectl edit distribution verwenden. Um beispielsweise die Anzahl der Replikate einer Nginx-Bereitstellung auf 3 zu ändern, können Sie den folgenden Befehl ausführen:
kubectl edit deployment nginx
Dadurch wird ein Editor geöffnet, in dem Sie die Yaml-Datei ändern können. Ändern Sie den Wert des Replikatfelds auf 3, speichern Sie dann und verlassen Sie den Editor.
3.3 Dienst verfügbar machen
In Kubernetes ist Dienst eine Abstraktion, die zum Offenlegen des Netzwerkendpunkts eines Pods verwendet wird. Um den Dienst der Bereitstellung verfügbar zu machen, können Sie den Befehl kubectl expose verwenden. Um beispielsweise den Dienst der Nginx-Bereitstellung verfügbar zu machen, können Sie den folgenden Befehl ausführen:
kubectl expose deployment nginx --port=80 --type=NodePort
Dieser Befehl erstellt einen Dienst mit dem Namen nginx und stellt ihn auf Port 80 aller Knoten im Cluster bereit.
3.4 Erweitern der Bereitstellung
Um die Bereitstellung zu erweitern, können Sie den Befehl kubectl scale verwenden. Um beispielsweise die Anzahl der Replikate einer Nginx-Bereitstellung auf 5 zu erweitern, können Sie den folgenden Befehl ausführen:
kubectl scale deployment nginx --replicas=5
3.5 Verwaltungsstatus
Um den Status der Bereitstellung anzuzeigen, verwenden Sie den Befehl kubectl. Um beispielsweise alle Bereitstellungen und ihren Status anzuzeigen, können Sie den folgenden Befehl ausführen:
kubectl get deployments
Dieser Befehl gibt den Namen, die erforderliche Menge, die verfügbare Menge und den Status aller Bereitstellungen im Cluster aus.
Zusammenfassung
Durch diesen Artikel haben wir gelernt, wie man Kubernetes in einem Linux-System installiert und konfiguriert und Kubernetes für die Container-Orchestrierung verwendet. Diese Fähigkeiten sind ein Muss für jeden Entwickler und Systemadministrator, der in die Cloud-native-Welt einsteigen möchte.
Das obige ist der detaillierte Inhalt vonSo verwenden Sie die Kubernetes-Container-Orchestrierung in Linux-Systemen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!