So installieren Sie einen Kubernetes-Cluster unter CentOS 7

Gespendet von Google an die Opensource-Community, Gouverneure ist jetzt das Container-Management-Tool der Wahl. Es kann nicht nur Docker-Laufzeiten verwalten und orchestrieren, sondern auch Container und Werkzeuge Laufzeiten.

Ein typischer Gouverneure Cluster würde im Allgemeinen einen Master-Knoten und mehrere Worker-Knoten oder Minions haben. Die Worker-Knoten werden dann vom Master-Knoten aus verwaltet, wodurch sichergestellt wird, dass der Cluster von einem zentralen Punkt aus verwaltet wird.

Es ist auch wichtig zu erwähnen, dass Sie auch einen Kubernetes-Cluster mit einem Knoten bereitstellen können, der im Allgemeinen für sehr leichte Workloads außerhalb der Produktion empfohlen wird. Hierfür können Sie verwenden MinikubeDies ist ein Tool, mit dem ein Kubernetes-Cluster mit einem Knoten in einer virtuellen Maschine auf Ihrem Knoten ausgeführt wird.

Empfohlene Lektüre: So installieren Sie einen Kubernetes-Cluster unter CentOS 8

In diesem Tutorial werden wir einen Multi-Node durchgehen Gouverneure Cluster-Installation auf CentOS 7 Linux. Dieses Tutorial basiert auf der Befehlszeile, sodass Sie Zugriff auf Ihr Terminalfenster benötigen.

Voraussetzungen

  1. Es werden mehrere Server ausgeführt Centos 7 (1 Hauptknoten, 2 Arbeiterknoten). Es wird empfohlen, dass Ihre Hauptknoten haben mindestens 2 CPUs, obwohl dies keine strenge Anforderung ist.
  2. Internetverbindung auf allen Ihren Knoten. Wir werden holen Gouverneure und Docker Pakete aus dem Repository. Ebenso müssen Sie sicherstellen, dass der yum-Paketmanager standardmäßig installiert ist und Pakete remote abrufen kann.
  3. Sie benötigen außerdem Zugriff auf ein Konto mit Sudo- oder Root-Rechten. In diesem Tutorial verwende ich mein Root-Konto.


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

Kubernetes-Clusterdiagramm
Kubernetes-Clusterdiagramm

Installation von Kubernetes Cluster auf Master-Node

Zum Gouverneure Um zu arbeiten, benötigen Sie eine Containerisierungs-Engine. Für diese Installation werden wir verwenden Docker wie es am beliebtesten ist.

Die folgenden Schritte werden auf dem ausgeführt Master-Node.

Schritt 1: Bereiten Sie Hostname, Firewall und SELinux vor

Legen Sie auf Ihrem Masterknoten den Hostnamen fest. Wenn Sie keinen DNS-Server haben, aktualisieren Sie auch Ihren / etc / hosts Datei.

# hostnamectl set-hostname master-node
# cat <> /etc/hosts
10.128.0.27 master-node
10.128.0.29 node-1 worker-node-1
10.128.0.30 node-2 worker-node-2
EOF

Sie können pingen Worker-Node-1 und Worker-Node-2 um zu testen, ob Ihre aktualisierte Hostdatei mit dem Befehl ping in Ordnung ist.

# ping 10.128.0.29
# ping 10.128.0.30

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

# setenforce 0
# sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
# reboot

Legen Sie die folgenden Firewall-Regeln für Ports fest. Stellen Sie sicher, dass jeder Befehl 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-iptables

Schritt 2: Richten Sie das Kubernetes Repo ein

Sie müssen hinzufügen Gouverneure Repositorys manuell, da sie standardmäßig nicht installiert sind CentOS 7.

cat < /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 es installieren Beadm und Docker Pakete.

# yum install kubeadm docker -y 

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

# systemctl enable kubelet
# systemctl start kubelet
# systemctl enable docker
# systemctl start docker

Schritt 4: Initialisieren Sie Kubernetes Master und richten Sie den Standardbenutzer ein

Jetzt sind wir bereit, den Kubernetes-Master zu initialisieren, aber vorher müssen Sie den Swap deaktivieren, um „Kubeadm Hitze” Befehl.

# swapoff -a

Die Initialisierung von Kubernetes Master ist ein vollautomatischer Prozess, der vom „Kubeadm Hitze“Befehl, den Sie ausführen werden.

# kubeadm init
Initialisieren Sie Kubernetes Master
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 join 10.128.0.27:6443 --token nu06lu.xrsux0ss0ixtnms5   --discovery-token-ca-cert-hash sha256:f996ea3564e6a07fdea2997a1cf8caeddafd6d4360d606dbc82314688425cd41 

Trinkgeld: 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 begleitet die --token und Ihr letzter Befehl wird so aussehen.

kubeadm join 10.128.0.27:6443 --token nu06lu.xrsux0ss0ixtnms5  --discovery-token-ca-cert-hash sha256:f996ea3564e6a07fdea2997a1cf8caeddafd6d4360d606dbc82314688425cd41

Initialisiert Gouverneure Erfolgreich müssen Sie Ihrem Benutzer erlauben, den Cluster zu verwenden. In unserem Fall möchten wir diese Installation als ausführen Wurzel Benutzer, daher werden wir fortfahren und diese Befehle als root ausführen. Sie können zu einem von Ihnen bevorzugten sudo-fähigen Benutzer wechseln und die folgenden Schritte mit sudo ausführen.

Benutzen Wurzel, Lauf:

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

So verwenden Sie a Sudo-fähiger Benutzer, Lauf:

$ 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 abectl Befehl ist aktiviert.

# kubectl get nodes
Überprüfen Sie den Status der Knoten
Überprüfen Sie den Status der Knoten

An dieser Stelle werden Sie auch feststellen, dass der Status der Master-Knoten ist ‘Nicht bereit‘. Dies liegt daran, dass wir das noch nicht bereitgestellt haben unter dem Netzwerk zum Cluster.

Das unter Netzwerk ist das Overlay-Netzwerk für den Cluster, das über dem aktuellen Knotennetzwerk bereitgestellt wird. Es wurde entwickelt, um die Konnektivität über den Pod hinweg zu ermöglichen.

Schritt 5: Richten Sie Ihr Pod-Netzwerk ein

Die Bereitstellung des Netzwerkclusters ist je nach Ihren Anforderungen ein sehr flexibler 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, das keine Konfiguration oder zusätzlichen Code erfordert und eine IP-Adresse pro Pod bereitstellt, was für uns großartig ist. Wenn Sie weitere Optionen sehen möchten, bitte überprüfe hier.

Diese Befehle sind wichtig, um das Pod-Netzwerk einzurichten.

# export kubever=$(kubectl version | base64 | tr -d 'n')
# kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$kubever"
Pod-Netzwerk einrichten
Pod-Netzwerk einrichten

Nun, wenn Sie den Status Ihres überprüfen Master-Knoten, es sollte sein ‘Bereit‘.

# kubectl get nodes
Überprüfen Sie den Status der Masterknoten
Überprüfen Sie den Status der Masterknoten

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

Einrichten von Arbeiterknoten für den Beitritt zum Kubernetes-Cluster

Die folgenden Schritte werden auf dem ausgeführt Arbeiterknoten. Diese Schritte sollten auf jedem ausgeführt werden Arbeiterknoten beim Beitritt zum Gouverneure Cluster.

Schritt 1: Bereiten Sie Hostname, Firewall und SELinux vor

Auf Ihrem Worker-Node-1 und Worker-Node-2Legen Sie den Hostnamen fest und aktualisieren Sie auch Ihre Master- und Worker-Knoten, falls Sie keinen DNS-Server haben / etc / hosts Datei.

# hostnamectl set-hostname 'node-1'
# cat <> /etc/hosts
10.128.0.27 master-node
10.128.0.29 node-1 worker-node-1
10.128.0.30 node-2 worker-node-2
EOF

Sie können pingen Master-Knoten um zu testen, ob Ihre aktualisierte Hostdatei in Ordnung ist.

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

# setenforce 0
# sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux

Legen Sie die folgenden Firewall-Regeln für Ports fest. Stellen Sie sicher, dass alle Firewall-Cmd-Befehle erfolgreich sind.

# 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-iptables

Schritt 2: Richten Sie das Kubernetes Repo ein

Sie müssen hinzufügen Gouverneure Repositorys manuell, da sie nicht vorinstalliert sind CentOS 7.

cat < /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 es installieren Beadm und Docker Pakete.

# yum install kubeadm docker -y 

Starten und aktivieren Sie beide Dienste.

# systemctl enable docker
# systemctl start docker
# systemctl enable kubelet
# systemctl start kubelet

Schritt 4: Verbinden Sie den Worker-Knoten mit dem Kubernetes-Cluster

Wir benötigen jetzt das Token dafür Beadm init generiert, um dem Cluster beizutreten. Sie können es kopieren und in Ihre einfügen Knoten-1 und Knoten-2 wenn du es irgendwo kopiert hättest.

# kubeadm join 10.128.0.27:6443 --token nu06lu.xrsux0ss0ixtnms5  --discovery-token-ca-cert-hash sha256:f996ea3564e6a07fdea2997a1cf8caeddafd6d4360d606dbc82314688425cd41 
Verbinden Sie Knoten mit Kubernets Cluster
Verbinden Sie Knoten mit Kubernets Cluster

Gehen Sie wie in der letzten Zeile vorgeschlagen zu Ihrem zurück Master-Knoten und prüfen Sie ob Arbeiterknoten-1 und Arbeiterknoten-2 sind mit dem folgenden Befehl dem Cluster beigetreten.

# kubectl get nodes
Überprüfen Sie den Status aller Knoten im Kubernetes-Cluster
Überprüfen Sie den Status aller Knoten im Kubernetes-Cluster

Wenn alle Schritte erfolgreich ausgeführt wurden, sollten Sie sehen Knoten-1 und Knoten-2 im Bereitschaftsstatus auf der Master-Knoten.

Empfohlene Lektüre: Bereitstellen von Nginx in einem Kubernetes-Cluster

Zu diesem Zeitpunkt haben wir eine Installation von a erfolgreich abgeschlossen Gouverneure Cluster ein Centos 7 und wir haben zwei erfolgreich an Bord gebracht Arbeiterknoten. Sie können jetzt damit beginnen, Ihre Pods zu erstellen und Ihre Dienste bereitzustellen.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *