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

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

Kubernetes ist eine von Google entwickelte Open-Source-Plattform zur Verwaltung containerisierter Anwendungen. Es ermöglicht Ihnen, Ihre containerisierten Anwendungen in der Clusterumgebung zu verwalten, zu skalieren und automatisch bereitzustellen. Mit Kubernetes können wir unsere Container über mehrere Hosts hinweg orchestrieren, die containerisierten Anwendungen mit allen Ressourcen im Handumdrehen skalieren und eine zentralisierte Containerverwaltungsumgebung haben.

In diesem Tutorial zeige ich Ihnen Schritt für Schritt, wie Sie Kubernetes unter CentOS 7 installieren und konfigurieren. Wir verwenden 1 Server „k8s-master“ als Kubernetes-Host-Master und 2 Server als Kubernetes-Knoten „node01“. und 'node02'.

Voraussetzungen

  • 3 CentOS 7-Server
    • 10.0.15.10      k8s-master
    • 10.0.15.21      node01
    • 10.0.15.22      node02
  • Root-Rechte

Was werden wir tun?

  1. Kubernetes-Installation
  2. Kubernetes-Cluster-Initialisierung
  3. Knoten01 und Knoten02 zum Cluster hinzufügen
  4. Testen – Ersten Pod erstellen

Schritt 1 – Kubernetes-Installation

In diesem ersten Schritt bereiten wir diese 3 Server für die Kubernetes-Installation vor, führen Sie also alle Befehle auf den Master- und Knotenservern aus.

Wir werden alle Server für die Kubernetes-Installation vorbereiten, indem wir die vorhandene Konfiguration auf den Servern ändern und auch einige Pakete installieren, einschließlich Docker-ce und Kubernetes selbst.

- Hosts konfigurieren

Bearbeiten Sie die Hostdatei auf allen Servern mit dem vim-Editor.

vim /etc/hosts

Fügen Sie die Liste des Hosts unten ein.

10.0.15.10      k8s-master
10.0.15.21      node01
10.0.15.22      node02

Speichern und beenden.

- SELinux deaktivieren

In diesem Tutorial werden wir uns nicht mit der SELinux-Konfiguration für Docker befassen, also werden wir sie deaktivieren.

Führen Sie den folgenden Befehl aus, um SELinux zu deaktivieren.

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

- br_netfilter-Kernel-Modul aktivieren

Das br_netfilter-Modul ist für die Kubernetes-Installation erforderlich. Aktivieren Sie dieses Kernelmodul, damit die Pakete, die die Brücke passieren, von iptables zum Filtern und zur Portweiterleitung verarbeitet werden und die Kubernetes-Pods im gesamten Cluster miteinander kommunizieren können.

Führen Sie den folgenden Befehl aus, um das Kernelmodul br_netfilter zu aktivieren.

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

- SWAP deaktivieren

Deaktivieren Sie die Installation von SWAP für Kubernetes, indem Sie die folgenden Befehle ausführen.

swapoff -a

Bearbeiten Sie dann die Datei „/etc/fstab“.

vim /etc/fstab

Kommentieren Sie die UUID der Auslagerungszeile wie folgt.

- Installieren Sie Docker CE

Installieren Sie die neueste Version von Docker-ce aus dem Docker-Repository.

Installieren Sie die Paketabhängigkeiten für docker-ce.

yum install -y yum-utils device-mapper-persistent-data lvm2

Fügen Sie das Docker-Repository zum System hinzu und installieren Sie docker-ce mit dem Befehl yum.

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

Warten Sie auf die Docker-ce-Installation.

- Installieren Sie Kubernetes

Fügen Sie das Kubernetes-Repository zum Centos 7-System hinzu, indem Sie den folgenden Befehl ausführen.

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

Installieren Sie nun die Kubernetes-Pakete kubeadm, kubelet und kubectl mit dem folgenden yum-Befehl.

yum install -y kubelet kubeadm kubectl

Nachdem die Installation abgeschlossen ist, starten Sie alle diese Server neu.

sudo reboot

Melden Sie sich erneut am Server an und starten Sie die Dienste Docker und Kubelet.

systemctl start docker && systemctl enable docker
systemctl start kubelet && systemctl enable kubelet

- Ändere den cgroup-Treiber

Wir müssen sicherstellen, dass Docker-ce und Kubernetes dieselbe „cgroup“ verwenden.

Überprüfen Sie die Docker-Cgroup mit dem Docker-Info-Befehl.

docker info | grep -i cgroup

Und Sie sehen, dass der Docker 'cgroupfs verwendet ' als Cgroup-Treiber.

Führen Sie nun den folgenden Befehl aus, um den cgroup-Treiber von kuberetes in „cgroupfs“ zu ändern.

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

Laden Sie das systemd-System neu und starten Sie den Kubelet-Dienst neu.

systemctl daemon-reload
systemctl restart kubelet

Jetzt können wir den Kubernetes-Cluster konfigurieren.

Schritt 2 – Initialisierung des Kubernetes-Clusters

In diesem Schritt initialisieren wir die Kubernetes-Master-Cluster-Konfiguration.

Verschieben Sie die Shell auf den Master-Server „k8s-master“ und führen Sie den folgenden Befehl aus, um den Kubernetes-Master einzurichten.

kubeadm init --apiserver-advertise-address=10.0.15.10 --pod-network-cidr=10.244.0.0/16

Hinweis:

--apiserver-advertise-address =legt fest, auf welcher IP-Adresse Kubernetes seinen API-Server ankündigen soll.

--pod-network-cidr =Geben Sie den IP-Adressbereich für das Pod-Netzwerk an. Wir verwenden das virtuelle Netzwerk „Flanell“. Wenn Sie ein anderes Pod-Netzwerk wie Weave-Net oder Calico verwenden möchten, ändern Sie den IP-Adressbereich.

Wenn die Kubernetes-Initialisierung abgeschlossen ist, erhalten Sie das folgende Ergebnis.

Hinweis:

Kopieren Sie den 'kubeadm join ... ... ... ' Befehl an Ihren Texteditor. Der Befehl wird verwendet, um neue Knoten im Kubernetes-Cluster zu registrieren.

Um Kubernetes zu verwenden, müssen wir nun einige Befehle wie für das Ergebnis ausführen.

Erstellen Sie ein neues Konfigurationsverzeichnis „.kube“ und kopieren Sie die Konfiguration „admin.conf“.

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 als Nächstes das Flanell-Netzwerk mithilfe des Befehls kubectl im Kubernetes-Cluster bereit.

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

Das Flanell-Netzwerk wurde im Kubernetes-Cluster bereitgestellt.

Warten Sie eine Minute und überprüfen Sie dann den Kubernetes-Knoten und die Pods mit den folgenden Befehlen.

kubectl get nodes
kubectl get pods --all-namespaces

Und Sie erhalten, dass der Knoten „k8s-master“ als „Master“-Cluster mit dem Status „bereit“ ausgeführt wird, und Sie erhalten alle Pods, die für den Cluster benötigt werden, einschließlich des Pods „kube-flannel-ds“ für das Netzwerk Konfiguration.

Stellen Sie sicher, dass der Status aller kube-system-Pods „running“ ist.

Die Initialisierung und Konfiguration des Kubernetes-Clustermasters wurde abgeschlossen.

Schritt 3 – Hinzufügen von node01 und node02 zum Cluster

In diesem Schritt fügen wir node01 und node02 hinzu, um dem „k8s“-Cluster beizutreten.

Stellen Sie eine Verbindung zum node01-Server her und führen Sie den Befehl kubeadm join aus, wie wir ihn oben kopiert haben.

kubeadm join 10.0.15.10:6443 --token vzau5v.vjiqyxq26lzsf28e --discovery-token-ca-cert-hash sha256:e6d046ba34ee03e7d55e1f5ac6d2de09fd6d7e6959d16782ef0778794b94c61e

Stellen Sie eine Verbindung zum node02-Server her und führen Sie den Befehl kubeadm join aus, wie wir ihn oben kopiert haben.

kubeadm join 10.0.15.10:6443 --token vzau5v.vjiqyxq26lzsf28e --discovery-token-ca-cert-hash sha256:e6d046ba34ee03e7d55e1f5ac6d2de09fd6d7e6959d16782ef0778794b94c61e

Warten Sie einige Minuten und kehren Sie zum Master-Cluster-Server „k8s-master“ zurück. Überprüfen Sie die Knoten und Pods mit dem folgenden Befehl.

kubectl get nodes
kubectl get pods --all-namespaces

Jetzt erhalten Sie node01 und node02 wurde dem Cluster mit dem Status „bereit“ hinzugefügt.

node01 und node02 wurden dem Kubernetes-Cluster hinzugefügt.

Schritt 4 – Testen des ersten Pods erstellen

In diesem Schritt führen wir einen Test durch, indem wir den Nginx-Pod im Kubernetes-Cluster bereitstellen. Ein Pod ist eine Gruppe aus einem oder mehreren Containern mit gemeinsam genutztem Speicher und Netzwerk, die unter Kubernetes ausgeführt werden. Ein Pod enthält einen oder mehrere Container, z. B. einen Docker-Container.

Melden Sie sich beim „k8s-master“-Server an und erstellen Sie mit dem kubectl-Befehl eine neue Bereitstellung namens „nginx“.

kubectl create deployment nginx --image=nginx

Führen Sie den folgenden Befehl aus, um Details der 'nginx'-Bereitstellungsspezifikation anzuzeigen.

kubectl describe deployment nginx

Und Sie erhalten die Nginx-Pod-Bereitstellungsspezifikation.

Als Nächstes werden wir den über das Internet zugänglichen nginx-Pod verfügbar machen. Und dafür müssen wir einen neuen Dienst NodePort erstellen.

Führen Sie den folgenden kubectl-Befehl aus.

kubectl create service nodeport nginx --tcp=80:80

Stellen Sie sicher, dass kein Fehler vorliegt. Überprüfen Sie nun den Nodeport und die IP des nginx-Dienstes mit dem folgenden kubectl-Befehl.

kubectl get pods
kubectl get svc

Jetzt erhalten Sie, dass der nginx-Pod jetzt unter der Cluster-IP-Adresse „10.160.60.38“ auf Port 80 und der Haupt-IP-Adresse des Knotens „10.0.15.x“ auf Port „30691“ ausgeführt wird.

Führen Sie auf dem Server „k8s-master“ den folgenden curl-Befehl aus.

curl node01:30691

curl node02:30691

Der Nginx-Pod wurde jetzt unter dem Kubernetes-Cluster bereitgestellt und ist über das Internet zugänglich.

Jetzt über den Webbrowser zugreifen.

http://10.0.15.10:30691/

Und Sie erhalten die Nginx-Standardseite.

Auf dem node02-Server - http://10.0.15.11:30691/

Die Installation und Konfiguration des Kubernetes-Clusters auf CentOS 7 wurde erfolgreich abgeschlossen.


Cent OS
  1. So installieren Sie Docker unter CentOS 7

  2. So installieren Sie Kubernetes unter Ubuntu 18.04

  3. So installieren Sie einen Kubernetes-Cluster unter CentOS 7

  4. So installieren Sie Docker unter CentOS 7 / RHEL 7

  5. So installieren Sie Docker in CentOS

So installieren Sie Rancher unter CentOS 8

So installieren Sie Docker unter CentOS 7

So installieren Sie Docker Compose unter CentOS 7

So installieren Sie Docker unter CentOS 8

So installieren Sie Kubernetes auf CentOS 8

So installieren Sie Kubernetes-Cluster auf CentOS 8