So installieren Sie Kubernetes auf Ubuntu 20.04 fokale Fossa Linux

So installieren Sie Kubernetes auf Ubuntu 20.04 fokale Fossa Linux

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
Bereitstellung von Kubernetes auf Ubuntu 20.04 FOSSA FOSSA Softwareanforderungen und Linux -Befehlszeilenkonventionen
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.

Fügen Sie # hinzu, um die SwappFile -Linie zu kommentieren

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 init 
Kubernetes 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-NamesPaces 
POD -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: 72AD481CEE4918CF2314738419356C9A402FB609263AD48C13797D0CBA2341 
Verbinden 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 Knoten 
Zeigt 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 ps 
Der 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 SVC 
Zeigt 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