So installieren Sie einen Kubernetes-Cluster unter CentOS 7

Video: Eine kurze Erklärung von Docker und seinen geschäftlichen Möglichkeiten Wenn Sie in der IT arbeiten, haben Sie wahrscheinlich schon von Docker gehört. Falls Sie sich nicht ganz sicher sind, was es ist, finden Sie hier eine kurze Erklärung der Technologie und ihrer Funktionen.

Kubernetes ist ein Open-Source-System zur Automatisierung der Bereitstellung, Skalierung und Verwaltung von Containeranwendungen. Kubernetes ist unternehmensfähig und kann auf verschiedenen Plattformen installiert werden. Ich habe bereits angesprochen, wie man Kubernetes unter Ubuntu Server zum Laufen bringt (siehe "So installieren Sie Kubernetes schnell unter Ubuntu"). Dieses Mal werde ich Sie durch den Prozess des Einrichtens eines Kubernetes-Clusters unter CentOS 7 führen. Dies sorgt für einen hervorragenden Doppelschlag für Ihre containerisierten Anwendungen.

Was du brauchen wirst

Ich werde mit drei CentOS 7-Servern (unter den folgenden IP-Adressen) demonstrieren:

  • Kubemaster: 192.168.1.99
  • kube2: 192.168.1.109
  • kube3: 192.168.1.167

Stellen Sie sicher, dass Sie die IP-Adressen an Ihre Bedürfnisse anpassen. Sie benötigen außerdem Root-Zugriff auf allen drei Servern. Ich empfehle, dies zuerst auf virtuellen Maschinen zu testen, bevor Sie die Installation auf Produktionsservern versuchen.

Nachdem dies gesagt ist, lassen Sie uns installieren.

Konfiguration vor der Installation

Als erstes möchten Sie Ihre Datei / etc / hosts so konfigurieren, dass sich jeder Computer über den Hostnamen gegenseitig anpingen kann. Geben Sie also auf jedem Computer den Befehl su aus (um zum Root-Benutzer zu wechseln) und bearbeiten Sie die Datei mit dem Befehl nano / etc / hosts . Fügen Sie am Ende der Datei Folgendes hinzu (passen Sie die IP-Adressen erneut an Ihre Bedürfnisse an):

 192.168.1.99 kubemaster 192.168.1.109 kube2 192.168.1.167 kube3 

Speichern und schließen Sie diese Datei.

SELinux deaktivieren und tauschen

Jetzt müssen wir sowohl SELinux als auch Swap deaktivieren. Geben Sie auf allen drei Computern die folgenden Befehle aus:

 setenforce 0 sed -i --follow-symlinks 's / SELINUX = erzwingen / SELINUX = deaktiviert / g' / etc / sysconfig / selinux 

Deaktivieren Sie anschließend den Swap (auf allen drei Computern) mit dem folgenden Befehl:

 Swapoff -a 

Wir müssen auch sicherstellen, dass Swap während eines Neustarts auf jedem Server nicht wieder aktiviert wird. Öffnen Sie die Datei / etc / fstab und kommentieren Sie den Swap-Eintrag folgendermaßen aus:

 # / dev / mapper / centos-swap swap swap standardmäßig 0 0 

Aktivieren Sie br_netfilter

Für unseren nächsten Trick aktivieren wir das Kernelmodul br_netfilter auf allen drei Servern. Dies erfolgt mit den folgenden Befehlen:

 modprobe br_netfilter echo '1'> / proc / sys / net / bridge / bridge-nf-call-iptables 

Installieren Sie Docker-ce

Es ist Zeit, das erforderliche Docker-Tool zu installieren. Installieren Sie auf allen drei Computern die Docker-ce-Abhängigkeiten mit dem folgenden Befehl:

 yum install -y yum-utils Geräte-Mapper-persistente-Daten lvm2 

Fügen Sie als Nächstes das Docker-ce-Repository mit dem folgenden Befehl hinzu:

 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 

Installieren Sie Docker-ce mit dem folgenden Befehl:

 yum install -y docker-ce 

Installieren Sie Kubernetes

Dies erfolgt auch auf allen drei Servern. Zuerst müssen wir einen Repository-Eintrag für yum erstellen. Geben Sie dazu den Befehl nano /etc/yum.repos.d/kubernetes.repo ein und fügen Sie den folgenden Inhalt hinzu:

 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 

Speichern und schließen Sie diese Datei. Installieren Sie Kubernetes mit dem folgenden Befehl:

 yum install -y kubelet kubeadm kubectl 

Starten Sie nach Abschluss der Installation alle drei Computer neu. Sobald jeder Computer neu gestartet wurde, melden Sie sich erneut an und melden Sie sich beim Root-Benutzer.

Cgruppenänderungen

Jetzt müssen wir sicherstellen, dass sowohl Docker-ce als auch Kubernetes zur gleichen Kontrollgruppe (cgroup) gehören. Standardmäßig sollte Docker bereits zu cgroupfs gehören (Sie können dies mit dem Befehl docker info | grep -i cgroup überprüfen ). Geben Sie den folgenden Befehl ein, um Kubernetes hinzuzufügen:

 sed -is / cgroup-driver = systemd / cgroup-driver = cgroupfs / g '/etc/systemd/system/kubelet.service.d/10-kubeadm.conf 

Starten Sie den systemd-Daemon und den kubelet-Dienst mit den folgenden Befehlen neu:

 systemctl daemon-reload systemctl kubelet neu starten 

Initialisieren Sie den Kubernetes-Cluster

Wir sind jetzt bereit, den Kubernetes-Cluster zu initialisieren. Dies erfolgt auf Kubemaster (und nur auf diesem Computer). Geben Sie auf kubemaster den folgenden Befehl ein (passen Sie die IP-Adressen erneut an Ihre Bedürfnisse an):

 kubeadm init --apiserver-werbeadresse = 192.168.1.99 --pod-network-cidr = 192.168.1.0 / 16 

Wenn dies abgeschlossen ist (es dauert zwischen 30 Sekunden und 5 Minuten), sollte die Ausgabe den Verbindungsbefehl für Ihre Knoten enthalten ( Abbildung A ).

Abbildung A.

Die Ausgabe des Kubernetes-Clusterinitialisierungsbefehls.


Sobald dies abgeschlossen ist, gehen Sie zu kube2 und geben Sie den Befehl ein (passen Sie die IP-Adresse an Ihre Bedürfnisse an):

 kubeadm join 192.168.1.99:6443 --token TOKEN --discovery-token-ca-cert-hash DISCOVERY_TOKEN 

Wobei TOKEN und DISCOVERY_TOKEN die Token sind, die nach Abschluss des Initialisierungsbefehls angezeigt werden.

Kubernetes konfigurieren

Bevor Kubernetes verwendet werden kann, müssen wir uns um einige Konfigurationsschritte kümmern. Geben Sie die folgenden drei Befehle ein (um ein neues .kube-Konfigurationsverzeichnis zu erstellen, kopieren Sie die erforderliche Konfigurationsdatei und geben Sie der Datei den richtigen Besitz):

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

Stellen Sie das Flanell-Netzwerk bereit

Jetzt müssen wir das Flanell-Netzwerk mit dem folgenden Befehl im Cluster bereitstellen:

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

Überprüfen Sie Ihre Knoten

Sobald der Bereitstellungsbefehl abgeschlossen ist, sollten Sie beide Knoten auf dem Master sehen können, indem Sie den Befehl kubectl get node eingeben ( Abbildung B ).

Abbildung B.

Unsere Knoten sind bereit.


Alles bereit

Herzlichen Glückwunsch, Sie haben jetzt einen Kubernetes-Cluster für Pods bereit. Ich werde zeigen, wie Sie Ihren ersten Pod bereitstellen, wenn wir das nächste Mal das Thema Kubernetes besuchen. Bis dahin viel Spaß beim Clustering!

© Copyright 2020 | mobilegn.com