Kubernetes wird auch als k8 bezeichnet , ist ein kostenloses Open-Source-Tool zur Verwaltung von Docker-Containern. Es handelt sich um eine Container-Orchestrierungsplattform, die darauf zugeschnitten ist, die Bereitstellung, Skalierung und Verwaltung von containerisierten Anwendungen zu automatisieren. In diesem Leitfaden erfahren Sie, wie Sie Kubernetes unter Ubuntu 18.04 LTS installieren und konfigurieren.
Voraussetzungen
Bevor wir beginnen, werden wir ein Testlabor einrichten, das 3 Ubuntu 18.04-Knoten umfasst, wie unten gezeigt
- IP-Adresse des Kubernetes-Master-Knotens:172.31.4.36 Hostname:k8-master
- Kubernetes-Slave-Knoten 1 IP-Adresse:172.31.4.170 Hostname:k8-slave
- IP-Adresse des Kubernetes-Slave-Knotens 2:172.31.10.30 Hostname:k8-slave2
Stellen Sie außerdem sicher, dass Ihr System die folgenden Mindestanforderungen erfüllt.
- 2 CPUs
- 4 GB Arbeitsspeicher
- 8 GB freier Festplattenspeicher
Lassen Sie uns jetzt eintauchen und loslegen.
Schritt 1. Einrichten des Hostnamens und Aktualisieren der Hostdatei
Zu Beginn melden Sie sich über SSH beim Master-Knoten an und richten den Hostnamen wie gezeigt ein
$ sudo hostnamectl set-hostname "k8-master"
Führen Sie auf den Slave-Knoten die folgenden Befehle aus
$ sudo hostnamectl set-hostname k8-slave
$ sudo hostnamectl set-hostname k8-slave2
Nehmen Sie mit Ihrem bevorzugten Texteditor die folgenden Änderungen in /etc/hosts
vor Datei für jeden der 3 Knoten, d. h. k8-master, k8-slave bzw. k9-slave2.
172.31.4.36 k8s-master
172.31.4.170 k8-slave
172.31.10.30 k8-slave2
Schritt 2. Docker auf Master- und Slave-Knoten installieren
Um Docker auf dem Master-Knoten zu installieren, aktualisieren und aktualisieren Sie zuerst das System mit dem folgenden Befehl
$ sudo apt-get update && sudo apt-get upgrade
Als nächstes installieren Sie Docker sowohl auf den Master- als auch auf den Slave-Knoten mit dem folgenden Befehl
$ sudo apt-get install docker.io -y
Ausgabe
Sobald Docker erfolgreich installiert ist, starten und aktivieren Sie den Docker-Dienst sowohl auf dem Master- als auch auf dem Slave-Knoten mit den folgenden Befehlen.
$ sudo systemctl start docker
$ sudo systemctl enable docker
Ausgabe
Um zu überprüfen, ob Docker ausgeführt wird, führen Sie den Befehl auf den Master- und Slave-Knoten aus
$ sudo systemctl status docker
Ausgabe
Um die Docker-Version anzuzeigen, die Sie gerade installiert haben, führen Sie
aus$ docker --version
Ausgabe
Schritt 3. Kubernetes-Repository auf Master- und Slave-Knoten konfigurieren
Bevor wir zum nächsten Schritt übergehen, müssen wir einige nützliche Pakete installieren. Führen Sie die folgenden Befehle auf allen Knoten aus
$ sudo apt-get install apt-transport-https curl -y
Ausgabe
Fügen Sie als Nächstes den Kubernetes-Paket-Repository-Schlüssel hinzu, indem Sie den folgenden Befehl ausführen
$ curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add
Ausgabe
Fügen Sie als Nächstes das Kubernetes-Repository mit dem folgenden Befehl hinzu.
$ sudo apt-add-repository "deb https://apt.kubernetes.io/ kubernetes-xenial main"
Ausgabe
HINWEIS:
Das Kubernetes-Paket-Repository für Ubuntu 18.04 LTS ist nicht verfügbar. Trotzdem haben wir das Paket-Repository von Xenial Kubernetes verwendet.
Schritt 4. Swap deaktivieren und kubeadm installieren
Wir werden kubeadm installieren Paket, damit wir mehrere Knoten in unserem Cluster bereitstellen können.
Aber bevor wir dies tun, empfiehlt die offizielle Kubernetes-Website, die OS-Swap-Funktion zu deaktivieren. Führen Sie dazu den folgenden Befehl aus.
$ sudo swapoff -a
Sie können jetzt kubeadm installieren Paket wie folgt.
$ sudo apt-get install kubeadm -y
Ausgabe
Nach erfolgreicher Installation von kubeadm Paket, überprüfen Sie seine Version mit dem folgenden Befehl
$ kubeadm version
Ausgabe
Schritt 5. Kubernetes-Cluster mit Kubeadm starten
Melden Sie sich auf dem Master-Knoten an und initialisieren Sie Kubernetes mit kubeadm wie gezeigt.
$ sudo kubeadm init --pod-network-cidr=172.31.4.0/20
Beispielausgabe
Die obige Ausgabe ist eine Bestätigung, dass wir den Kubernetes-Master-Knoten erfolgreich initiiert haben. Führen Sie zum Starten des Clusters die in der grünen Markierung eingeschlossenen Befehle nacheinander aus
$ mkdir -p $HOME/.kube
$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
$ sudo chown $(id -u):$(id -g) $HOME/.kube/config
Jetzt werden wir den Status des Master-Knotens überprüfen, indem wir den folgenden Befehl ausführen.
$ kubectl get nodes
An dieser Stelle erhalten Sie eine Meldung, dass der Master-Knoten nicht bereit ist, da wir noch keinen Pod bereitgestellt haben. Im nächsten Schritt werden wir ein Pod-Netzwerk bereitstellen, das das Netzwerk ist, über das unsere Cluster-Knoten miteinander kommunizieren können. Um dies zu erreichen, werden wir Flannel als unser Pod-Netzwerk einsetzen. Flannel wird ein Overlay-Netzwerk zwischen Cluster-Knoten bereitstellen
Schritt 6. Flannel als Pod-Netzwerk bereitstellen
Führen Sie zum Bereitstellen des Pod-Netzwerks den folgenden Befehl im Master-Knoten
aus$ sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
Beispielausgabe
An dieser Stelle können wir nun den Status des Master-Knotens mit kubectl
überprüfen Befehl
$ sudo kubectl get nodes
Ausgabe
Wie oben zu sehen, hat sich der Status des Master-Knotens in „Bereit“ geändert. Überprüfen Sie außerdem die Pod-Namespaces wie gezeigt.
$ sudo kubectl get pods --all-namespaces
Ausgabe
Die obige Ausgabe zeigt, dass alle Pod-Namespaces ausgeführt werden. Der letzte Schritt besteht darin, die Slave-Knoten mit dem Cluster zu verbinden.
Schritt 7. Slave-Knoten zum Cluster hinzufügen
In diesem Schritt melden wir uns bei beiden Slave-Knoten (k8-slave und k8-slave2) an und führen den folgenden Befehl aus, der in Schritt 5 rot hervorgehoben erscheint
$ kubeadm join 172.31.4.36:6443 --token w8kbni.wiyevyov0yxwwtdj --discovery-token-ca-cert-hash sha256:29adc042c538f59f0c7339ebad2126d5836de06ffe0ae22c54ce0aef2eb4cb76
Beispielausgabe
Gehen Sie jetzt zum Master-Slave und überprüfen Sie den Status der Master- und Slave-Knoten mit kubectl
Befehl
$ kubectl get nodes
Ausgabe
Die obige Ausgabe bestätigt, dass wir unsere beiden Slave-Knoten erfolgreich zum Cluster hinzugefügt haben und ihr Status sowie der Master-Knoten bereit sind!
Wunderbar! Wir haben unser Tutorial zur Installation und Konfiguration von Kubernetes auf Ubuntu 18.04 LTS abgeschlossen. Ihr Feedback ist uns sehr willkommen.