GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So installieren Sie einen Kubernetes-Cluster unter CentOS 7

Einführung

Kleine virtuelle Umgebungen, sogenannte Container , sind für die Entwicklung und Verwaltung von Anwendungen unverzichtbar geworden.

Das Arbeiten an Anwendungen innerhalb eines isolierten Containers wirkt sich nicht auf das Hostbetriebssystem aus. Container sind effizienter als virtuelle Maschinen, da sie ihr Betriebssystem nicht benötigen.

Kubernetes ist eine Open-Source-Plattform, mit der Sie Ressourcen über mehrere Container hinweg bereitstellen, skalieren und verwalten können.

Folgen Sie dieser Anleitung und erfahren Sie, wie Sie Kubernetes auf einem CentOS 7-System installieren.

Voraussetzungen

  • Mehrere Linux-Server mit CentOS 7 (1 Master-Knoten, mehrere Worker-Knoten)
  • Ein Benutzerkonto auf jedem System mit sudo oder Root-Rechte
  • Das leckere Paketmanager, standardmäßig enthalten
  • Befehlszeilen-/Terminalfenster

Schritte zum Installieren von Kubernetes auf CentOS 7

Um Kubernetes zu verwenden, müssen Sie eine Containerisierungs-Engine installieren . Die derzeit beliebteste Containerlösung ist Docker . Docker muss auf CentOS installiert sein, beides auf dem Master-Knoten und den Worker-Knoten.

Schritt 1:Kubernetes-Repository konfigurieren

Kubernetes-Pakete sind nicht in offiziellen CentOS 7-Repositories verfügbar. Dieser Schritt muss auf dem Master-Knoten und jedem Worker-Knoten ausgeführt werden, den Sie für Ihr Container-Setup verwenden möchten. Geben Sie den folgenden Befehl ein, um die Kubernetes-Repositories abzurufen.

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF

Schritt 2:Installieren Sie kubelet , kubeadm und kubectl

Diese 3 Basispakete werden benötigt, um Kubernetes nutzen zu können. Installieren Sie die folgenden Pakete auf jedem Knoten:

sudo yum install -y kubelet kubeadm kubectl
systemctl enable kubelet
systemctl start kubelet

Sie haben Kubernetes jetzt erfolgreich installiert, einschließlich seiner Tools und Basispakete.

Stellen Sie vor der Bereitstellung eines Clusters sicher, dass Sie Hostnamen festlegen, die Firewall und die Kernel-Einstellungen konfigurieren.

Schritt 3:Hostnamen auf Knoten festlegen

Verwenden Sie diesen Befehl, um jedem Ihrer Knoten einen eindeutigen Hostnamen zuzuweisen:

sudo hostnamectl set-hostname master-node

oder

sudo hostnamectl set-hostname worker-node1

In diesem Beispiel heißt der Master-Knoten jetzt master-node, während ein Worker-Knoten worker-node1 heißt.

Erstellen Sie einen Hosteintrag oder DNS-Eintrag, um den Hostnamen für alle Knoten aufzulösen:

sudo vi /etc/hosts

Mit dem Eintrag:

192.168.1.10 master.phoenixnap.com master-node
192.168.1.20 node1. phoenixnap.com node1 worker-node

Schritt 4:Firewall konfigurieren

Die Knoten, Container und Pods müssen in der Lage sein, über den Cluster hinweg zu kommunizieren, um ihre Funktionen auszuführen. Firewalld ist in CentOS standardmäßig auf dem Frontend aktiviert. Fügen Sie die folgenden Ports hinzu, indem Sie die aufgelisteten Befehle eingeben.

Geben Sie auf dem Master-Knoten Folgendes ein:

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 --permanent --add-port=10255/tcp
sudo firewall-cmd --reload

Jedes Mal, wenn ein Port hinzugefügt wird, bestätigt das System mit einer Erfolgsmeldung.

Geben Sie die folgenden Befehle auf jedem Worker-Knoten ein:

sudo firewall-cmd --permanent --add-port=10251/tcp
sudo firewall-cmd --permanent --add-port=10255/tcp
firewall-cmd --reload

Schritt 5:Iptables-Einstellungen aktualisieren

Legen Sie die net.bridge.bridge-nf-call-iptables fest auf '1' in Ihrer sysctl-Konfigurationsdatei. Dadurch wird sichergestellt, dass Pakete während der Filterung und Portweiterleitung ordnungsgemäß von IP-Tabellen verarbeitet werden.

cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system

Schritt 6:SELinux deaktivieren

Die Container müssen auf das Host-Dateisystem zugreifen. SELinux muss auf den Permissive-Modus eingestellt werden, der seine Sicherheitsfunktionen effektiv deaktiviert.

Verwenden Sie die folgenden Befehle, um SELinux zu deaktivieren:

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

Schritt 7:SWAP deaktivieren

Zuletzt müssen wir SWAP deaktivieren, damit das Kubelet ordnungsgemäß funktioniert:

sudo sed -i '/swap/d' /etc/fstab
sudo swapoff -a

So stellen Sie einen Kubernetes-Cluster bereit

Schritt 1:Cluster mit kubeadm erstellen

Initialisieren Sie einen Cluster, indem Sie den folgenden Befehl ausführen:

sudo kubeadm init --pod-network-cidr=10.244.0.0/16

Je nach Netzwerkgeschwindigkeit kann der Vorgang einige Minuten dauern. Sobald dieser Befehl abgeschlossen ist, wird eine kubeadm-Join-Meldung angezeigt. Notieren Sie sich den Eintrag und verwenden Sie ihn, um zu einem späteren Zeitpunkt Worker-Knoten mit dem Cluster zu verbinden.

Schritt 2:Cluster als normaler Benutzer verwalten

Um den Cluster zu verwenden, müssen Sie ihn als normaler Benutzer ausführen, indem Sie Folgendes eingeben:

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

Schritt 3:Pod-Netzwerk einrichten

Ein Pod-Netzwerk ermöglicht Knoten innerhalb des Clusters zu kommunizieren. Es gibt mehrere verfügbare Kubernetes-Netzwerkoptionen. Verwenden Sie den folgenden Befehl, um das Flanell zu installieren Pod-Netzwerk-Add-on:

sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

Wenn Sie sich für die Verwendung von Flanell entscheiden, bearbeiten Sie Ihre Firewall-Regeln, um Datenverkehr für den Flanell-Standardport 8285 zuzulassen .

Schritt 4:Status des Clusters prüfen

Überprüfen Sie den Status der Knoten, indem Sie auf dem Master-Server den folgenden Befehl eingeben:

sudo kubectl get nodes

Nachdem ein Pod-Netzwerk installiert wurde, können Sie bestätigen, dass es funktioniert, indem Sie überprüfen, ob der CoreDNS-Pod ausgeführt wird, indem Sie Folgendes eingeben:

sudo kubectl get pods --all-namespaces

Schritt 5:Worker-Knoten mit Cluster verbinden

Wie in Schritt 1 angegeben , können Sie den kubeadm join verwenden Befehl auf jedem Worker-Knoten, um ihn mit dem Cluster zu verbinden.

kubeadm join --discovery-token cfgrty.1234567890jyrfgd --discovery-token-ca-cert-hash sha256:1234..cdef 1.2.3.4:6443

Ersetzen Sie die Codes durch die von Ihrem Masterserver. Wiederholen Sie diese Aktion für jeden Worker-Knoten in Ihrem Cluster.


Cent OS
  1. So installieren Sie Vagrant unter CentOS 7

  2. So installieren Sie Gitea unter CentOS 8

  3. So installieren Sie Memcached auf CentOS 8

  4. So installieren Sie Nginx unter CentOS 7

  5. So installieren Sie ownCloud auf CentOS 8

So installieren Sie einen Kubernetes-Docker-Cluster unter CentOS 7

So installieren Sie Zoom unter CentOS 8

So installieren Sie Nethogs auf CentOS

So installieren Sie Yourls in CentOS 8

So installieren Sie Kubernetes auf CentOS 8

So installieren Sie Kubernetes-Cluster auf CentOS 8