So installieren Sie einen Kubernetes -Cluster am CentOS 7

So installieren Sie einen Kubernetes -Cluster am CentOS 7

Gespendet von Google zur OpenSource -Community, Kubernetes ist jetzt das Container -Management -Tool der Wahl geworden. Es kann nicht nur Docker -Laufzeiten verwalten und orchestrieren, sondern auch Container und Rkt Laufzeiten.

Eine typische Kubernetes Cluster hätte im Allgemeinen einen Masterknoten und mehrere Arbeiter-Noten oder Schergen. Die Arbeiternoten werden dann vom Master-Knoten aus verwaltet, um sicherzustellen, dass der Cluster aus einem zentralen Punkt aus verwaltet wird.

Es ist auch wichtig zu erwähnen, dass Sie auch einen Kubernetes-Cluster mit einem einzelnen Knoten bereitstellen können, der im Allgemeinen für sehr leichte, nicht produktionelle Workloads empfohlen wird. Dafür können Sie verwenden Minikube, Dies ist ein Tool, das einen einzelnen Knoten Kubernetes-Cluster in einer virtuellen Maschine auf Ihrem Knoten ausführt.

Empfohlen zu lesen: So installieren Sie einen Kubernetes -Cluster am CentOS 8

Für dieses Tutorial werden wir einen Multi-Knoten durchlaufen Kubernetes Cluster -Installation ein Centos 7 Linux. Dieses Tutorial basiert auf Befehlszeilen, sodass Sie Zugriff auf Ihr Terminalfenster benötigen.

Voraussetzungen

  1. Mehrere Server laufen Centos 7 (1 Masterknoten, 2 Arbeiterknoten). Es wird empfohlen, dass Ihre Meisterknoten Mindestens 2 CPUs haben, obwohl dies keine strenge Anforderung ist.
  2. Internet -Konnektivität auf all Ihren Knoten. Wir werden holen Kubernetes Und Docker Pakete aus dem Repository. Ebenso müssen Sie sicherstellen, dass der Yum -Paket -Manager standardmäßig installiert ist und Pakete remote abrufen kann.
  3. Sie benötigen auch Zugriff auf ein Konto mit Sudo- oder Root -Privilegien. In diesem Tutorial werde ich mein Root -Konto verwenden.

Unser 3-Knoten-Cluster sieht ungefähr so ​​aus:

Kubernetes -Cluster -Diagramm

Installation von Kubernetes-Cluster auf dem Master-Knoten

Für Kubernetes Um zu arbeiten, benötigen Sie eine Containerisierungsmotor. Für diese Installation werden wir verwenden Docker Wie es am beliebtesten ist.

Die folgenden Schritte werden auf dem ausgeführt Masterknoten.

Schritt 1: Bereiten Sie Hostname, Firewall und Selinux vor

Setzen Sie auf Ihrem Masterknoten den Hostnamen und wenn Sie keinen DNS -Server haben, aktualisieren Sie auch Ihre /etc/hosts Datei.

# hostnamectl set-hostname master-node # cat <> /etc /hosts 10.128.0.27 Master-Knoten 10.128.0.29 Node-1 Worker-Node-1 10.128.0.30 Node-2 Worker-Node-2 eof 

Sie können pingen Arbeiterknoten-1 Und Arbeiterknoten-2 Um zu testen, ob Ihre aktualisierte Hostfile mit dem Ping -Befehl in Ordnung ist.

# Ping 10.128.0.29 # Ping 10.128.0.30 

Als nächstes deaktivieren Sie Selinux und aktualisieren Sie Ihre Firewall -Regeln.

# setEnforce 0 # sed -i --Follow -symlinks 's/selinux = Enforcing/selinux = deaktiviert/g'/etc/sysconfig/selinux # Neustart 

Legen Sie die folgenden Firewall -Regeln für Ports fest. Stellen Sie sicher, dass jeder Befehl für Firewall-CMD einen Erfolg zurückgibt.

# Firewall-CMD --Permanent --add-Port = 6443/TCP # Firewall-CMD --Permanent --add-Port = 2379-2380/TCP # Firewall-CMD --permanent --add-Port = 10250/TCP # Firewall-CMD --Permanent --add-Port = 10251/TCP # Firewall-CMD --Permanent --add-Port = 10252/TCP # Firewall-CMD --permanent --add-Port = 10255/TCP # FireWall -cmd -reload # modprobe BR_Netfilter # echo '1'>/proc/sys/net/bridge/bridge-nf-call-exptables 

Schritt 2: Richten Sie das Kubernetes -Repo ein

Sie müssen hinzufügen Kubernetes Repositories manuell, da sie standardmäßig nicht installiert werden Centos 7.

Katze < /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 3: Installieren Sie Kubeadm und Docker

Wenn das Paket -Repo jetzt fertig ist, können Sie fortfahren und installieren Kubeadm Und Docker Pakete.

# yum install kubeadm docker -y 

Wenn die Installation erfolgreich abgeschlossen ist, aktivieren und starten Sie beide Dienste.

# SystemCTL Aktivieren Kuberelet # SystemCTL Start Kuberelet # SystemCTL aktivieren Docker # SystemCTL START DOCKER 

Schritt 4: Initialisieren Sie den Standardbenutzer von Kubernetes Master und Setup

Jetzt sind wir bereit, den Kubernetes -Master zu initialisieren, aber davor müssen Sie den Swap deaktivieren, um zu laufen. “Kubeadm init" Befehl.

# Swapoff -a 

Das Initialisieren von Kubernetes Master ist ein vollständig automatisierter Prozess, der von der “verwaltet wirdKubeadm init„Befehl, den Sie ausführen werden.

# Kubeadm init 
Initialisieren Sie Kubernetes Master

Möglicherweise möchten Sie die letzte Zeile kopieren und irgendwo speichern, da Sie sie auf dem ausführen müssen Arbeiterknoten.

Kubeadm beitreten 10.128.0.27: 6443 -TOOKE NU06LU.XRSUX0SS0IXTNMS5 \-Discovery-token-ca-cert-hash SHA256: F996EA3564E6A07FDEA2997A1CF8CAEDDAFD6D4360D606DBC8231468825CD41 

Spitze: Manchmal kann sich dieser Befehl über die beschweren Argumente (Args) bestanden, also bearbeiten Sie es, um Fehler zu vermeiden. Sie werden also die löschen '\' Charakter, der das begleitet --Zeichen Und Ihr endgültiger Befehl sieht so aus.

Kubeadm beitreten 10.128.0.27: 6443 -TOOKE NU06LU.XRSUX0SS0IXTNMS5-Discovery-Token-Ca-Cert-Hash SHA256: F996EA3564E6A07FDEA2997A1CF8CAEDDAFD6D4360D606DBC82314688425CD41 

Initialisiert Kubernetes erfolgreich müssen Sie Ihrem Benutzer ermöglichen, den Cluster zu verwenden. In unserem Fall möchten wir diese Installation als ausführen Wurzel Benutzer, deshalb werden wir diese Befehle als Root ausführen. Sie können zu einem sudo -fähigen Benutzer wechseln, den Sie bevorzugen, und die unten mit Sudo ausführen.

Benutzen Wurzel, laufen:

# MKDIR -P $ HOME/.kube # cp -i/etc/kubernetes/admin.Conf $ Home/.kube/config # chown $ (id -u): $ (id -g) $ home/.kube/config 

Zu verwenden a sudo fähiger Benutzer, laufen:

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

Überprüfen Sie nun, ob die Kubectl Der Befehl wird aktiviert.

# kubectl Holen Sie sich Knoten 
Überprüfen Sie den Status von Knoten

Zu diesem Zeitpunkt werden Sie auch feststellen, dass der Status der Masterknoten Ist 'Nicht bereit''. Dies liegt daran, dass wir die noch nicht bereitstellen müssen POD -Netzwerk zum Cluster.

Der POD -Netzwerk ist das Overlay -Netzwerk für den Cluster, das oben im vorliegenden Knotennetzwerk bereitgestellt wird. Es ist so konzipiert, dass es die Konnektivität über den Pod ermöglicht wird.

Schritt 5: Richten Sie Ihr POD -Netzwerk ein

Die Bereitstellung des Netzwerkclusters ist abhängig von Ihren Anforderungen ein hochflexibler Prozess, und es stehen viele Optionen zur Verfügung. Da wir unsere Installation so einfach wie möglich halten möchten, werden wir verwenden Weavenet Plugin, für das keine Konfiguration oder zusätzlichen Code erforderlich ist und eine IP -Adresse pro Pod bietet, die für uns hervorragend ist. Wenn Sie weitere Optionen sehen möchten, lesen Sie bitte hier.

Diese Befehle sind wichtig, um das POD -Netzwerk -Setup zu erhalten.

# Export kubever = $ (kubectl Version | Base64 | Tr -D '\ n') # kubectl anwenden -f "https: // cloud.weben.Arbeiten/K8S/Netz?K8S-Version = $ kubever " 
Setup POD -Netzwerk

Wenn Sie nun den Status Ihrer Prüfung überprüfen Masterknoten, es sollte sein 'Bereit''.

# kubectl Holen Sie sich Knoten 
Überprüfen Sie den Status von Master -Knoten

Als nächstes fügen wir das hinzu Arbeiterknoten zum Cluster.

Einrichten von Arbeiterknoten zum Verbinden von Kubernetes Cluster

Die folgenden Schritte werden auf dem ausgeführt Arbeiterknoten. Diese Schritte sollten auf jedem ausgeführt werden Arbeiterknoten Beim Schließen dem Kubernetes Cluster.

Schritt 1: Bereiten Sie Hostname, Firewall und Selinux vor

Auf Ihrem Arbeiterknoten-1 Und Arbeiterknoten-2, Stellen Sie den Hostnamen fest und falls Sie keinen DNS -Server haben, und aktualisieren Sie auch Ihre Master- und Arbeiterknoten auf /etc/hosts Datei.

# hostnamectl set-hostname 'node-1' # cat <> /etc /hosts 10.128.0.27 Master-Knoten 10.128.0.29 Node-1 Worker-Node-1 10.128.0.30 Node-2 Worker-Node-2 eof 

Sie können pingen Masterknoten Um zu testen, ob Ihre aktualisierte Hostfile in Ordnung ist.

Als nächstes deaktivieren Sie Selinux und aktualisieren Sie Ihre Firewall -Regeln.

# setEnforce 0 # sed -i --Follow -symlinks 's/selinux = Enforcing/selinux = deaktiviert/g'/etc/sysconfig/selinux 

Legen Sie die folgenden Firewall -Regeln für Ports fest. Stellen Sie sicher, dass alle Befehle von Firewall-CMD den Erfolg zurückgeben.

# Firewall-CMD --permanent --add-Port = 6783/TCP # Firewall-CMD --Permanent --add-Port = 10250/TCP # Firewall-CMD --Permanent --add-Port = 10255/TCP # Firewall -cmd --permanent --add-port = 30000-32767/TCP # Firewall-CMD-Reload # echo '1'>/proc/sys/net/bridge/bridge-nf-call-iptable 

Schritt 2: Richten Sie das Kubernetes -Repo ein

Sie müssen hinzufügen Kubernetes Repositories manuell, da sie nicht vorinstalliert sind Centos 7.

Katze < /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 3: Installieren Sie Kubeadm und Docker

Wenn das Paket -Repo jetzt fertig ist, können Sie fortfahren und installieren Kubeadm Und Docker Pakete.

# yum install kubeadm docker -y 

Starten Sie und aktivieren Sie beide Dienste.

# SystemCTL aktivieren Docker # SystemCTL START DOCKER # SystemCTL AktivkuBelet # SystemCTL Start Kuberelet 

Schritt 4: Verbinden Sie den Arbeiterknoten mit dem Kubernetes -Cluster

Wir benötigen jetzt das Token, das Kubeadm Init erzeugt, um sich dem Cluster anzuschließen. Sie können es kopieren und in Ihr einfügen Knoten-1 Und Knoten-2 Wenn Sie es irgendwo kopiert hätten.

# Kubeadm treten 10 bei.128.0.27: 6443 -TOOKE NU06LU.XRSUX0SS0IXTNMS5-Discovery-Token-Ca-Cert-Hash SHA256: F996EA3564E6A07FDEA2997A1CF8CAEDDAFD6D4360D606DBC82314688425CD41 
Verbinden Sie Knoten mit Kubernets Cluster

Wie in der letzten Zeile vorgeschlagen, kehren Sie zu Ihrem zurück Masterknoten und prüfen Sie, ob Arbeiterknoten-1 Und Arbeiterknoten-2 haben sich dem Cluster mit dem folgenden Befehl angeschlossen.

# kubectl Holen Sie sich Knoten 
Überprüfen Sie den Status aller Knoten im Kubernetes -Cluster

Wenn alle Schritte erfolgreich ausgeführt werden, sollten Sie sehen Knoten-1 Und Knoten-2 im readiumstatus auf der Masterknoten.

Empfohlen zu lesen: So bereitstellen Sie Nginx auf einem Kubernetes -Cluster bereit

Zu diesem Zeitpunkt haben wir eine Installation von a erfolgreich abgeschlossen Kubernetes Cluster auf Centos 7 Und wir haben zwei erfolgreich an Bord geführt Arbeiternoten. Sie können jetzt beginnen, Ihre Pods zu erstellen und Ihre Dienste bereitzustellen.