So installieren Sie Kubernetes auf Ubuntu 20.04 fokale Fossa Linux
- 3379
- 421
- Susanne Stoutjesdijk
Kubernetes führt Software in Containerorchestrierung an. Kubernetes arbeitet mit der Verwaltung von Clustern. Dies ist einfach eine Reihe von Hosts,. Um einen Kubernetes -Cluster zu haben, benötigen Sie mindestens zwei Knoten - a Meisterknoten und ein Arbeiterknoten. Natürlich können Sie den Cluster erweitern, indem Sie so viele Arbeiterknoten hinzufügen, wie Sie benötigen.
In diesem Handbuch werden wir einen Kubernetes -Cluster bereitstellen, der aus zwei Knoten besteht, die beide Ubuntu 20 ausführen.04 FOSSA FOSSA. Es ist die wichtigste Konfiguration, zwei Knoten in unserem Cluster zu haben, aber Sie können diese Konfiguration skalieren und weitere Knoten hinzufügen, wenn Sie dies wünschen.
In diesem Tutorial lernen Sie:
- So installieren Sie Docker
- So installieren Sie Kubernetes
- So konfigurieren Sie einen Master- und Arbeiterknoten
- So schließen Sie sich einem Arbeiterknoten zu einem Kubernetes -Cluster an
- So bereitstellen Sie NginX (oder eine Container -App) in einem Kubernetes -Cluster
Kategorie | Anforderungen, Konventionen oder Softwareversion verwendet |
---|---|
System | Installierte Ubuntu 20.04 oder verbessert Ubuntu 20.04 FOSSA FOSSA |
Software | Kubernetes |
Andere | Privilegierter Zugriff auf Ihr Linux -System als Root oder über die sudo Befehl. |
Konventionen | # - erfordert, dass gegebene Linux -Befehle mit Root -Berechtigungen entweder direkt als Stammbenutzer oder mit Verwendung von ausgeführt werden können sudo Befehl$ - Erfordert, dass die angegebenen Linux-Befehle als regelmäßiger nicht privilegierter Benutzer ausgeführt werden können |
Szenario
Bevor wir eintauchen, lasst uns die Einzelheiten unseres Szenarios einrichten. Wie oben erwähnt, wird unser Cluster zwei Knoten haben, und beide Knoten laufen Ubuntu 20 aus.04 FOSSA FOSSA. Einer wird der sein Meisterknoten und kann leicht mit seinem Hostnamen von identifiziert werden Kubernetes-Master
. Der zweite Knoten wird unser sein Arbeiterknoten und einen Hostnamen von haben Kubernetes-Arbeiter
.
Der Masterknoten bereitet einen Kubernetes -Cluster bereit und der Workerknoten schließt sich einfach an. Da Kubernetes -Cluster so konzipiert sind, dass sie Container -Software ausführen, werden wir einen Nginx -Server -Container als Proof of Concept für das Konzept einsetzen.
Docker installieren
Beide Knoten müssen Docker auf sich installieren lassen, da Kubernetes darauf angewiesen ist. Öffnen Sie ein Terminal und geben Sie die folgenden Befehle sowohl für den Master als auch für den Arbeiterknoten ein, um Docker zu installieren:
$ sudo apt update $ sudo apt install docker.io
Sobald Docker die Installation beendet hat, verwenden Sie die folgenden Commmands, um den Dienst zu starten und sicherzustellen, dass er nach jedem Neustart automatisch beginnt:
$ sudo systemctl start docker $ sudo systemctl aktivieren docker
Installieren Sie Kubernetes
Jetzt sind wir bereit, Kubernetes zu installieren. Stellen Sie genau wie alle anderen Befehle bis zu diesem Punkt sicher, dass Sie dies auf beiden Knoten tun. Installieren Sie auf Ihrem Kubernetes Master und Worker zuerst die APT-transport-httpps
Paket, mit dem wir HTTP und HTTPS in Ubuntus Repositories verwenden können. Jetzt ist auch ein guter Zeitpunkt für die Installation Locken
Da brauchen wir es gleich:
$ sudo apt installieren APT-transport-https curl
Fügen Sie als nächstes den Kubernetes -Signaturschlüssel zu beiden Systemen hinzu:
$ curl -s https: // pakete.Wolke.Google.com/apt/doc/apt-key.gpg | sudo apt-key add
Als nächstes fügen wir das Kubernetes -Paket -Repository hinzu. Beachten Sie, dass zum Zeitpunkt dieses Schreibens Ubuntu 16.04 Xenial Xerus ist das neueste Kubernetes -Repository verfügbar. Dies sollte schließlich von Ubuntu 20 ersetzt werden.04 FOSSA FOSSA, und der folgende Befehl kann dann aktualisiert werden Xenial
Zu fokal
.
$ sudo apt-add-repository "Deb http: // apt.Kubernetes.IO/ Kubernetes-Xenial Main "
Jetzt können wir Kubernetes installieren:
$ sudo apt install kubeadm kubrett kubectl kubernetes-cni
Swap -Speicher deaktivieren
Kubernetes lehnt es ab zu funktionieren, wenn Ihr System den Swap -Speicher verwendet. Stellen Sie vor dem weiteren Fortschritt sicher, dass der Master- und Arbeiterknoten mit diesem Befehl Swap -Speicher deaktiviert hat:
$ sudo swapoff -a
Dieser Befehl deaktiviert den Swap -Speicher, bis Ihre Systeme neu gestartet werden. Um diese Änderung vorzunehmen, verwenden Sie Nano oder Ihren bevorzugten Texteditor, um diese Datei zu öffnen:
$ sudo nano /etc /fstab
Kommentieren Sie in dieser Datei die /Auslagerungsdatei
Linie durch Voraussetzung mit einem #
Symbol, wie unten zu sehen. Schließen Sie dann diese Datei und speichern Sie die Änderungen.
Setzen Sie Hostnamen
Stellen Sie als nächstes sicher, dass alle Ihre Knoten einen einzigartigen Hostnamen haben. In unserem Szenario verwenden wir die Hostnamen Kubernetes-Master
Und Kubernetes-Arbeiter
Um unsere Gastgeber leicht zu unterscheiden und ihre Rollen zu identifizieren. Verwenden Sie den folgenden Befehl, wenn Sie Ihre Hostnamen ändern müssen:
$ sudo hostnamectl set-Hostname Kubernetes-Master
Und auf dem Arbeiterknoten:
$ sudo hostnamectl set-Hostname Kubernetes-Arbeiter
Sie werden den Hostnamen ändern, bis Sie einen neuen öffnen. Stellen Sie zuletzt sicher, dass alle Ihre Knoten eine genaue Zeit und Datum haben. Andernfalls werden Sie mit ungültigen TLS -Zertifikaten in Schwierigkeiten geraten.
Initialisieren Sie den Kubernetes -Master -Server
Jetzt sind wir bereit, den Kubernetes -Masterknoten zu initialisieren. Geben Sie dazu den folgenden Befehl auf Ihrem Master -Knoten ein:
Kubernetes-Master: ~ $ sudo kubeadm initKubernetes auf Ubuntu 20.04 Masterknoten ist jetzt initialisiert
Der Kubernetes -Masterknoten wurde jetzt initialisiert. Die Ausgabe gibt uns a Kubeadm beitreten
Befehl, dass wir uns später verwenden müssen, um unseren Arbeiterknoten zum Masterknoten zu beitreten. Beachten Sie diesen Befehl für später.
Die Ausgabe von oben empfiehlt uns auch, mehrere Befehle als regulärer Benutzer auszuführen, um mit dem Kubernetes -Cluster zu beginnen. Führen Sie diese drei Befehle auf dem Masterknoten aus:
Kubernetes -Master: ~ $ mkdir -p $ home/.Kube Kubernetes -Master: ~ $ sudo cp -i/etc/kubernetes/admin.Conf $ Home/.Kube/config Kubernetes -Master: ~ $ sudo chown $ (id -u): $ (id -g) $ home/.kube/config
Bereitstellen eines POD -Netzwerks
Der nächste Schritt besteht darin, ein POD -Netzwerk bereitzustellen. Das POD -Netzwerk wird für die Kommunikation zwischen Hosts verwendet und ist erforderlich, damit der Kubernetes -Cluster ordnungsgemäß funktioniert. Dazu werden wir das Flanell -POD -Netzwerk verwenden. Geben Sie die folgenden zwei Befehle auf dem Master -Knoten aus:
Kubernetes -Master: ~ $ kubectl anwenden -f https: // raw.GithubuSercontent.com/coreos/flanell/master/dokumentation/kube flannel.YML Kubernetes -Master: ~ $ kubectl anwenden -f https: // raw.GithubuSercontent.com/coreos/flanell/master/dokumentation/k8s-manifests/kube flannel-rbac.YML
Abhängig von Ihrer Umgebung kann es nur wenige Sekunden oder eine Minute dauern, um das gesamte Flanell -Netzwerk zu erhöhen. Du kannst den ... benutzen Kubectl
Befehl, zu bestätigen, dass alles in Betrieb ist und bereit ist:
Kubernetes-Master: ~ $ kubectl Holen Sie sich Pods-All-NamesPacesPOD -Netzwerk wird erfolgreich bereitgestellt
Wenn die gesamte Statusspalte "Laufen" zeigt, ist dies ein Hinweis darauf, dass alles fertig ist und gut zu gehen ist.
Schließen Sie sich dem Kubernetes -Cluster an
Jetzt ist unser Cluster bereit, die Arbeiterknoten verbinden zu lassen. Verwenden Sie das Kubeadm beitreten
Der Befehl, der früher aus der Kubernetes -Masterknoteninitialisierung ausgegeben wurde, um Ihrem Kubernetes -Cluster beizutreten:
Kubernetes-Arbeiter: ~ $ sudo kubeadm mit 192.168.1.220: 6443 -TOOKE 1EXB8S.2T4K3B5SYFC3JFMO-Discovery-Token-Ca-Cert-Hash SHA256: 72AD481CEE4918CF2314738419356C9A402FB609263AD48C13797D0CBA2341Verbinden Sie den Worker -Knoten mit Kubernetes Cluster
Zurück auf Ihrem Kubernetes -Masterknoten, bestätigen Sie dies Kubernetes-Arbeiter
ist jetzt Teil unseres Kubernetes -Clusters mit diesem Befehl:
Kubernetes-Master: ~ $ kubectl Holen Sie sich KnotenZeigt an, welche Knoten derzeit im Kubernetes -Cluster sind
Bereitstellung eines Dienstes auf Kubernetes Cluster
Jetzt sind wir bereit, einen Dienst im Kubernetes -Cluster bereitzustellen. In unserem Beispiel werden wir einen Nginx -Server in unserem neuen Cluster als Beweis für das Konzept einsetzen. Führen Sie die folgenden zwei Befehle auf Ihrem Masterknoten aus:
Kubernetes-Master: ~ $ kubectl run --image = nginx nginx-server --port = 80 --env = "domain = cluster" kubernetes-master: ~ $ kubectl expose deployment nginx-server-port = 80- = nginx-http
Sie sollten jetzt einen neuen Nginx Docker -Container sehen, der auf Ihrem Arbeiterknoten bereitgestellt wird:
Kubernetes-Arbeiter: ~ $ sudo docker psDer neue Docker Nginx -Container ist im Laufe des Kubernetes -Arbeiterknotens in Betrieb
Sie können eine laufende Liste aller verfügbaren Dienste sehen, die in Ihrem Cluster mit dem folgenden Befehl ausgeführt werden, der vom Kubernetes Maser -Knoten ausgegeben wird:
Kubernetes-Master: ~ $ kubectl Holen Sie sich SVCZeigt an, welche Containerdienste auf dem Kubernetes -Cluster ausgeführt werden
Abschluss
In diesem Artikel haben wir gelernt, Kubernetes für die Bereitstellung von Containeranwendungen auf Ubuntu 20 einzurichten.04 FOSSA FOSSA. Wir richten einen grundlegenden Cluster ein, der aus zwei Hosts, einem Meister und einem Arbeiter besteht.
Wir haben gesehen. Natürlich kann dieselbe Konfiguration verwendet werden, um eine beliebige Anzahl von Containeranwendungen bereitzustellen.
Verwandte Linux -Tutorials:
- So installieren Sie Kubernetes auf Ubuntu 22.04 Jammy Quallen…
- So erstellen Sie einen Kubernetes -Cluster
- Dinge zu installieren auf Ubuntu 20.04
- Vergleich von Linux Apache Pre -Onk -vs -Worker -MPMs
- Dinge zu tun nach der Installation Ubuntu 20.04 fokale Fossa Linux
- Wofür werden Kubernetes verwendet??
- So verwalten Sie Kubernetes -Cluster mit Kubectl
- Kubeadm gegen Minikube, Vor- und Nachteile
- Kubernetes gegen Docker, was ist der Unterschied?
- So stellen Sie WordPress auf einem Kubernetes -Cluster bereit
- « So installieren Sie R auf Ubuntu 20.04
- Fügen Sie das Anwendungsmenü auf Ubuntu 20 hinzu.04 Gnome Desktop »