GNU/Linux >> LINUX-Kenntnisse >  >> Rocky Linux

So installieren Sie Kubernetes-Cluster auf Rocky Linux 8

Hallo Technikfreaks, wie wir wissen, ist Kubernetes (k8s) ein kostenloses und Open-Source-Container-Orchestrierungssystem. Es wird zur Automatisierung der Bereitstellung und Verwaltung von containerisierten Anwendungen verwendet. In dieser Anleitung behandeln wir Schritt für Schritt, wie Sie den Kubernetes-Cluster auf Rocky Linux 8 mit kubeadm installieren.

Mindestsystemanforderung für Kubernetes

  • 2 vCPUs oder mehr
  • 2 GB RAM oder mehr
  • Swap deaktiviert
  • Mindestens NIC-Karte
  • Stabile Internetverbindung
  • Ein normaler Benutzer mit sudo-Berechtigungen.

Zur Demonstration verwende ich folgende Systeme

  • Einmal Master Node / Control Plane (2 GB RAM, 2 vCPU, 1 NIC-Karte, Minimal Rocky Linux 8 OS)
  • Zwei Worker-Knoten (2 GB RAM, 2 vCPU, 1 NIC-Karte, minimales Betriebssystem Rocky Linux 8)
  • Hostname des Master-Knotens – Kontrollknoten (192.168.1.240)
  • Hostname der Arbeitsknoten – worker-node1(192.168.1.241), worker-node2(192.168.1.242)

Lassen Sie uns ohne weiteres in die Kubernetes-Installationsschritte eintauchen.

Hinweis:Diese Schritte gelten auch für RHEL 8 und AlmaLinux OS.

Schritt 1) ​​Hostnamen festlegen und Hostdatei aktualisieren

Verwenden Sie den Befehl hostnamectl, um den Hostnamen auf dem Steuerknoten und dem Worker-Knoten festzulegen.

Unterhalb des Befehls auf dem Kontrollknoten ausführen

$ sudo hostnamectl set-hostname "control-node"$ exec bash

Führen Sie den folgenden Befehl auf Worker-Knoten1

aus
$ sudo hostnamectl set-hostname "worker-node1"$ exec bash

Worker-Knoten 2

$ sudo hostnamectl set-hostname "worker-node2"$ exec bash

Fügen Sie die folgenden Einträge in der Datei /etc/hosts jeweils auf Steuer- und Worker-Knoten hinzu.

192.168.1.240   Kontrollknoten192.168.1.241   Worker-Knoten1192.168.1.242   Worker-Knoten2

Schritt 2) Swap deaktivieren und SELinux in den zulässigen Modus versetzen

Deaktivieren Sie Swap, damit Kubelet ordnungsgemäß funktionieren kann. Führen Sie die folgenden Befehle auf allen Knoten aus, um sie zu deaktivieren,

$ sudo swapoff -a$ sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

Führen Sie den Befehl „sed“ auf allen Knoten aus, um SELinux in den zulässigen Modus zu versetzen

$ sudo setenforce 0$ sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

Schritt 3) Firewall-Regeln auf Master- und Worker-Knoten konfigurieren

Auf der Steuerungsebene müssen die folgenden Ports in der Firewall zugelassen werden.

Führen Sie

aus, um die obigen Ports in der Steuerungsebene zuzulassen
$ sudo firewall-cmd --permanent --add-port=6443/tcp$ sudo firewall-cmd --permanent --add-port=2379-2380/tcp$ sudo firewall-cmd --permanent --add -port=10250/tcp$ sudo firewall-cmd --permanent --add-port=10251/tcp$ sudo firewall-cmd --permanent --add-port=10252/tcp$ sudo firewall-cmd --reload$ sudo modprobe br_netfilter$ sudo sh -c "echo '1'> /proc/sys/net/bridge/bridge-nf-call-iptables"$ sudo sh -c "echo '1'> /proc/sys/net/ipv4/ ip_forward"

Auf Worker-Knoten müssen die folgenden Ports in der Firewall zugelassen werden

$ sudo firewall-cmd --permanent --add-port=10250/tcp$ sudo firewall-cmd --permanent --add-port=30000-32767/tcp                                                 br_netfilter$ sudo sh -c "echo '1'> /proc/sys/net/bridge/bridge-nf-call-iptables"$ sudo sh -c "echo '1'> /proc/sys/net/ipv4/ip_forward "

Schritt 4) Docker auf Master- und Worker-Knoten installieren

Installieren Sie Docker auf Master- und Worker-Knoten. Hier stellt Docker die Containerlaufzeit (CRI) bereit. Um den neuesten Docker zu installieren, müssen wir zuerst sein Repository aktivieren, indem wir die folgenden Befehle ausführen.

$ sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo

Führen Sie nun den folgenden dnf-Befehl auf allen Knoten aus, um Docker-ce (Docker Community Edition) zu installieren

$ sudo dnf install docker-ce -y

Ausgabe

Sobald Docker und seine Abhängigkeiten installiert sind, starten und aktivieren Sie seinen Dienst, indem Sie die folgenden Befehle ausführen

$ sudo systemctl docker starten$ sudo systemctl docker aktivieren

Schritt 5) Kubelet, Kubeadm und kubectl installieren

Kubeadm ist das Dienstprogramm, mit dem wir den Kubernetes-Cluster installieren. Kubectl ist das Befehlszeilendienstprogramm, das für die Interaktion mit dem Kubernetes-Cluster verwendet wird. Kubelet ist die Komponente, die alle Knoten ausführt und Aufgaben wie das Starten und Stoppen von Pods oder Containern ausführt.

Um kubelet, kubeadm und kubectl auf allen Knoten zu installieren, müssen wir zuerst das Kubernetes-Repository aktivieren.

Führen Sie die folgenden Befehle auf Master- und Worker-Knoten aus.

$ cat < 

Aktivieren Sie nach der Installation der obigen Pakete den Kubelet-Dienst auf allen Knoten (Steuer- und Worker-Knoten), führen Sie

aus
$ sudo systemctl enable --now kubelet

Schritt 6) Kubernetes-Cluster mit Kubeadm installieren

Bei der Installation des Kubernetes-Clusters sollten wir sicherstellen, dass die cgroup der Containerlaufzeit (CRI) mit der cgroup von kubelet übereinstimmt. Normalerweise ist cgroup in Docker cgroupfs, also müssen wir Kubeadm anweisen, cgroupfs als cgroup von kubelet zu verwenden. Dies kann durch Übergabe eines yaml-in-Kubeadm-Befehls erfolgen,

Erstellen Sie die Datei kubeadm-config.yaml auf der Steuerungsebene mit folgendem Inhalt

$ vi kubeadm-config.yaml# kubeadm-config.yamlkind:ClusterConfigurationapiVersion:kubeadm.k8s.io/v1beta3kubernetesVersion:v1.23.4--kind:KubeletConfigurationapiVersion:kubelet.config.k8s.io/v1beta1cgroupDriver:cgroupfs

Hinweis:Ersetzen Sie die Kubernetes-Version gemäß Ihrer Einrichtung.

Jetzt sind wir bereit für die Installation (oder Initialisierung des Clusters) und führen den folgenden Kubeadm-Befehl vom Steuerknoten aus,

$ sudo kubeadm init --config kubeadm-config.yaml

Die Ausgabe des obigen Befehls würde wie folgt aussehen,

Die obige Ausgabe bestätigt, dass der Cluster erfolgreich initialisiert wurde.

Führen Sie die folgenden Befehle aus, damit normale Benutzer mit dem Cluster interagieren können. Diese Befehle sind bereits in der Ausgabe vorhanden.

$ mkdir -p $HOME/.kube$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config$ sudo chown $(id -u):$(id -g) $HOME /.kube/config$ kubectl erhält Knoten

Um Knoten in den Bereitschaftszustand zu versetzen und den Cluster-DNS-Dienst (Coredns) zu aktivieren, installieren Sie das Pod-Netzwerk-Ad-On (CNI – Container Network Interface). Pods beginnen miteinander zu kommunizieren, sobald das Pod-Netzwerk-Ad-On installiert ist. In dieser Anleitung installiere ich Calico als Netzwerkad-On. Ausführen unter dem Befehl kubectl von der Steuerungsebene aus.

$ kubectl apply -f https://docs.projectcalico.org/v3.22/manifests/calico.yaml

Ausgabe

Nach der erfolgreichen Installation des Calico-Netzwerk-Add-Ons werden der Kontrollknoten und die Pods im Kube-System-Namespace bereit und verfügbar sein.

Der nächste Schritt besteht nun darin, Worker-Knoten mit dem Cluster zu verbinden.

Schritt 7) Verbinden Sie Worker-Knoten mit dem Cluster

Nach der erfolgreichen Initialisierung des Kubernetes-Clusters wird in der Ausgabe der Befehl zum Verbinden eines beliebigen Worker-Knotens mit dem Cluster angezeigt. Kopieren Sie also diesen Befehl und fügen Sie ihn auf Worker-Knoten ein. In meinem Fall lautet der Befehl also,

$ sudo kubeadm join 192.168.1.240:6443 --token jecxxg.ac3d3rpd4a7xbxx4 --discovery-token-ca-cert-hash sha256:1e4fbed060aafc564df75bc776c18f6787ab91685859e74d43449cf51
 Führen Sie die obigen Befehle auf beiden Worker-Knoten aus.

Überprüfen Sie den Status beider Worker-Knoten von der Steuerungsebene aus, führen Sie

aus
 [[E-Mail geschützt] ~] $ kubectl Erhalten Sie NODESNAME Status Rollen AltersversionControl-Knoten READY CONTROL-Flugzeug, Master 49M V1.23.4Worker-Node1 READY  5M18S V1.23.4Worker-Node2 Bereit  3M57S V1 .23.4[[email protected] ~]$

Großartig, die obige Ausgabe bestätigt, dass Worker-Knoten dem Cluster beigetreten sind. Das ist alles aus diesem Leitfaden. Ich hoffe, Sie fanden diesen Leitfaden informativ. Bitte teilen Sie Ihre Fragen und Ihr Feedback im Kommentarbereich unten.


No
Rocky Linux
  1. So installieren Sie MariaDB 10.6 auf Rocky Linux 8

  2. So installieren Sie Docker unter Rocky Linux 8

  3. So installieren Sie Cockpit unter Rocky Linux 8

  4. So installieren Sie GitLab unter Rocky Linux 8

  5. So installieren Sie MariaDB unter Rocky Linux 8

So installieren Sie Joomla auf Rocky Linux 8

So installieren Sie Fail2ban unter Rocky Linux 8

So installieren Sie ImageMagick unter Rocky Linux 8

So installieren Sie Spotify unter Rocky Linux 8

So installieren Sie Grafana unter Rocky Linux 8

So installieren Sie Netdata auf Rocky Linux 8