GNU/Linux >> LINUX-Kenntnisse >  >> AlmaLinux

Installieren Sie den Kubernetes-Cluster mit Kubeadm in RHEL, CentOS, AlmaLinux, Rocky Linux

In diesem Artikel erfahren wir mehr über die Kubernetes-Cluster-Installation mit Kubeadm in RHEL 8 und seinen Klonen wie AlmaLinux 8, CentOS 8 und Rocky Linux 8.

Bevor Sie sich darauf einlassen, müssen Sie ein Grundwissen über Kubernetes-Konzepte und -Architektur haben . In diesem Artikel werden wir Cluster mit zwei Knoten demonstrieren.

Um mit der Installation fortzufahren, benötigen wir die unten aufgeführten Grundvoraussetzungen.

  • Mindestens 2 Hosts.
  • 2 CPUs.
  • 2 GB physischer Arbeitsspeicher (RAM).
  • 20 GB Speicherplatz.
  • Internetverbindung zum Herunterladen von Paketen.

1. Hostnamen und IP-Adresse konfigurieren

Legen Sie den Hostnamen fest und konfigurieren Sie Hosts in Master und Workers. Die Betriebssystemdatei hosts wird verwendet, um Hostnamen oder Domänennamen in IP-Adressen umzuwandeln.

Hier haben wir zwei Hosts:

  • ostechmaster - Meister
  • ostechworker – Arbeiter

Verwenden Sie den folgenden Befehl, um den Hostnamen festzulegen. Nach dem Festlegen des Hostnamens ist ein Neustart erforderlich.

# hostnamectl set-hostname ostechmaster

Bearbeiten Sie /etc/hosts Datei:

# vi /etc/hosts

Fügen Sie sowohl den Server- als auch den Client-Hostnamen und die IP-Adresse in /etc/hosts hinzu Datei:

Führen Sie einen Ping-Test durch, um die Konnektivität sicherzustellen:

[[email protected] ~]# ping ostechworkerPING ostechworker (172.31.5.141) 56(84) Bytes an Daten.64 Bytes von ostechworker (172.31.5.141):icmp_seq=1 ttl=64 time=0.472 ms64 Bytes von ostechworker (172.31.5.141):icmp_seq=2 ttl=64 time=0.492 ms64 bytes von ostechworker (172.31.5.141):icmp_seq=3 ttl=64 time=1.43 ms64 bytes von ostechworker (172.31.5.141):icmp_seq=4 ttl=64 Zeit=0,425 ms

2. SElinux deaktivieren

Deaktivieren Sie SElinux in Master und Workers, sodass alle Container problemlos auf das Host-Dateisystem zugreifen können, wenn SElinux deaktiviert ist.
Machen Sie 'SELINUX=disabled ' in der Konfigurationsdatei /etc/selinux/config mit dem vi-Editor. Ein Neustart ist erforderlich, um die SElinux-Änderung widerzuspiegeln.

[[email protected] ~]# vi /etc/selinux/config

Stellen Sie den SElinux-Status mit dem folgenden Befehl sicher.

[[email protected] ~]# sestatusSELinux-Status:deaktiviert

3. Swap in Master und Worker deaktivieren

Swap muss auf allen Kubernetes-Hosts (Master &Workers) deaktiviert werden. Dies ist die bevorzugte Bereitstellungsmethode der Kubernetes-Community. Der Kubelet-Dienst wird auf dem Master und den Workern nicht gestartet, wenn Swap nicht deaktiviert ist.

Führen Sie den folgenden Befehl aus, um SWAP zu deaktivieren:

[[email protected] ~]# swapoff -a &&sed -i '/swap/d' /etc/fstab

4. Erlauben Sie die erforderlichen Ports in der Firewall

Damit Kubernetes-Komponenten miteinander interagieren können, müssen bestimmte wichtige Ports verfügbar sein. Unten sind die Ports aufgeführt, die geöffnet werden müssen, um die Konnektivität zwischen Kubernetes-Komponenten zu nutzen.

Steuerungsebene/Masterserver:

Protokoll Richtung Portbereich Zweck Verwendet von
TCP Eingehend 6443 Kubernetes-API-Server Alle
TCP Eingehend 2379-2380 etcd-Server-Client-API kube-apiserver, etcd
TCP Eingehend 10250 Kubelet-API Selbst, Kontrollebene
TCP Eingehend 10259 kube-scheduler Selbst
TCP Eingehend 10257 kube-controller-manager Selbst

Worker-Knoten:

Protokoll Richtung Portbereich Zweck Verwendet von
TCP Eingehend 10250 Kubelet-API Selbst, Kontrollebene
TCP Eingehend 30000-32767 NodePort-Dienste Alle

Führen Sie die folgenden Befehle aus, um die erforderlichen Ports durch die Firewall zuzulassen.

Master-Knoten:

[[email protected] ~]# firewall-cmd --permanent --add-port=6443/tcp
[[email protected] ~]# firewall-cmd --permanent --add-port=2379-2380/tcp
[[email protected] ~]# firewall-cmd --permanent --add-port=10250/tcp
[[email protected] ~]# firewall-cmd --permanent --add-port=10251/tcp
[[email protected] ~]# firewall-cmd --permanent --add-port=10259/tcp
[[email protected] ~]# firewall-cmd --permanent --add-port=10257/tcp
[[email protected] ~]# firewall-cmd --reload

Worker-Knoten:

[[email protected] ~]# firewall-cmd --permanent --add-port=10250/tcp
[[email protected] ~]# firewall-cmd --permanent --add-port=30000-32767/tcp
[[email protected] ~]# firewall-cmd --reload

Wir deaktivieren die Firewall sowohl im Master als auch im Worker, da sie zu Demonstrationszwecken dient. Es wird jedoch nicht für die Echtzeit-Produktionspraxis empfohlen.

Verwenden Sie die folgenden Befehle, um die Firewall zu stoppen und zu deaktivieren.

[[email protected] ~]# systemctl stop firewalld
[[email protected] ~]# systemctl disable firewalld

5. Installieren Sie Docker

Docker erleichtert das „Bauen“ von Containern, während Kubernetes es ermöglicht, sie in Echtzeit zu „verwalten“. Verwenden Sie Docker, um die Software zu verpacken und zu versenden. Verwenden Sie Kubernetes, um Ihre App zu starten und zu skalieren.

Docker-Repository auf allen Computern im Cluster hinzufügen.

Erstellen Sie die Datei mit dem Namen docker.repo unter /etc/yum.repos.d/ Verzeichnis:

[[email protected] ~]# vi /etc/yum.repos.d/docker.repo

Fügen Sie darin die folgenden Zeilen hinzu:

[docker]baseurl=https://download.docker.com/linux/centos/8/x86_64/stable/gpgcheck=0

Drücken Sie die ESC-Taste und geben Sie :wq ein um die Datei zu speichern und zu schließen.

Installieren Sie Docker sowohl im Master- als auch im Worker-Knoten:

# yum -y docker-ce installieren

Aktivieren und starten Sie Docker nach der Installation auf beiden Knoten:

# systemctl Docker aktivieren
# systemctl docker starten

Überprüfen Sie und stellen Sie sicher, dass Docker auf beiden Maschinen ausgeführt wird.

# systemctl status docker

6. Installieren Sie Kubernetes

Kubernetes-Repository in Master und Worker hinzufügen.

Erstellen Sie die Datei kubernetes.repo sowohl im Master als auch im Worker unter /etc/yum.repos.d/ Verzeichnis:

# vi /etc/yum.repos.d/kubernetes.repo

Fügen Sie die folgenden Zeilen hinzu:

[kubernetes]name=Kubernetesbaseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64enabled=1gpgcheck=1repo_gpgcheck=1gpgkey=https://packages.cloud.google.com/ yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg

Drücken Sie ESC und geben Sie :wq ein um die Datei zu speichern und zu schließen.

Installieren Sie kubeadm, kubelet, kubectl in Master- und Worker-Knoten mit dem folgenden Befehl:

# yum install -y kubelet kubeadm kubectl --disableexcludes=Kubernetes

Aktivieren und starten Sie das kubelet Service in beiden Maschinen:

# systemctl aktiviert kubelet
# systemctl kubelet starten

Überprüfen Sie den Status des Kubelet-Dienstes und vergewissern Sie sich, dass er auf beiden Maschinen einwandfrei läuft.

# systemctl status kubelet

7. Kubernetes initialisieren

Verwenden Sie den folgenden Befehl, um Kubernetes im Master Server zu initialisieren

[[email protected] ~]# kubeadm init

Sie erhalten die folgende Ausgabe, die besagt, dass die Kubernetes-Steuerungsebene erfolgreich initialisiert wurde. Und bestimmte Schritte werden erwähnt, um mit der Verwendung des Clusters zu beginnen, folgen Sie diesen.

Kopieren und speichern Sie auch den 'kubeadm join' Befehl aus der Ausgabe, wird er verwendet, um dem Worker-Knoten im Cluster beizutreten.

Beispielausgabe:

Ihre Kubernetes-Steuerungsebene wurde erfolgreich initialisiert! Um Ihren Cluster zu verwenden, müssen Sie Folgendes als normaler Benutzer ausführen:mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id - u):$(id -g) $HOME/.kube/configWenn Sie der Root-Benutzer sind, können Sie alternativ Folgendes ausführen: export KUBECONFIG=/etc/kubernetes/admin.conf Sie sollten jetzt ein Pod-Netzwerk im Cluster bereitstellen. Führen Sie „kubectl apply -f [podnetwork].yaml“ mit einer der unter https://kubernetes.io/docs/concepts/cluster-administration/addons/Then aufgeführten Optionen aus  kubeadm beitreten 172.31.10.29:6443 --token 220tvj.051bkeyj5tg6v55r \ --discovery-Token-ca-cert-Hash sha256:434c49c7969256a7fae3880b340202cadd4fd29d3d381ab37e1cb8b1d05e86f2  

Da wir mit root fortfahren Benutzer, führen Sie den folgenden Befehl auf dem Master-Server aus, wie in der obigen Ausgabe erwähnt.

[[email protected] ~]# export KUBECONFIG=/etc/kubernetes/admin.conf

8. POD-Netzwerk konfigurieren

Ein Kubernetes-Pod-Netzwerk ist ein Netzwerk miteinander verbundener Komponenten in Kubernetes. Dieses Netzwerkkonzept kann auf verschiedene Arten implementiert werden. In unserer Demonstration verwenden wir 'Weave Net' .

Führen Sie die folgenden Befehle auf dem Master-Server aus, um das POD-Netzwerk einzurichten.

[[email protected] ~]# export kubever=$(kubectl version | base64 | tr -d '\n')
[[email protected] ~]# kubectl apply -f https://cloud.weave.works/k8s/net?k8s-version=$kubever

Beispielausgabe:

Dienstkonto/weave-net createdclusterrole.rbac.authorization.k8s.io/weave-net createdclusterrolebinding.rbac.authorization.k8s.io/weave-net createdrole.rbac.authorization.k8s.io/weave-net createdrolebinding.rbac .authorization.k8s.io/weave-net createddaemonset.apps/weave-net created[[email protected] ~]#

9. Treten Sie dem Worker-Knoten bei

Führen Sie den 'kubeadm join aus ' Befehl, um den Worker-Knoten dem Cluster beizutreten. Dies ist der Befehl, den wir aus „kubeadm init“ kopiert haben ' Ausgabe.

[[email protected] ~]# kubeadm join 172.31.10.29:6443 --token 220tvj.051bkeyj5tg6v55r --discovery-token-ca-cert-hash sha256:434c49c7969256a7fae3880b340202cadd4fd29d381predc0f5eb81predc0f5eb81predc0f5eb81pre>  

Sie können den Knoten im Master-Server mit dem folgenden Befehl verifizieren

# kubectl-Get-Knoten

Beispielausgabe:

NAME STATUS ROLLEN ALTER VERSIONostechmaster Ready control-plane,master 32m v1.23.1ostechworker Ready  30m v1.23.1

Schlussfolgerung

In diesem Artikel haben wir die detaillierten Schritte zum Einrichten und Konfigurieren von Kubernetes Cluster mit Kubeadm gesehen. Sehen Sie sich unsere vorherige Kubernetes-Reihe an Artikel, um ein detailliertes Verständnis der Kubernetes-Architektur und -Konzepte zu erhalten. Wir werden Kubernetes-Vorgänge in den kommenden Artikeln sehen.

Weiterlesen:

  • So erstellen und verwalten Sie Kubernetes-Pods unter Linux

Quelle:

  • https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/

AlmaLinux
  1. AlmaLinux gegen Rocky Linux

  2. So installieren Sie Kubernetes-Cluster auf Rocky Linux 8

  3. So installieren Sie PostgreSQL unter CentOS 8 / Rocky Linux 8 / RHEL 8

  4. So installieren Sie Java unter Rocky Linux 8 / CentOS 8 / RHEL 8

  5. So installieren Sie Erlang auf Rocky Linux/Alma Linux/CentOS 8

So installieren Sie MongoDB in RHEL, CentOS, Rocky und AlmaLinux

So installieren Sie MusicBrainz Picard auf RHEL | CentOS | Rockiges Linux

Installieren Sie Dig auf AlmaLinux 8 / Rocky Linux

So installieren Sie GIMP auf AlmaLinux 8 / Rocky Linux 8

So installieren Sie Git auf Almalinux oder Rocky Linux 8

Installieren Sie LXC (Linux-Container) in RHEL, Rocky und AlmaLinux