Einrichten eines Kubernetes-Clusters auf einer AWS EC2-Instanz mit Ubuntu unter Verwendung von kubeadm

In diesem Artikel sehen wir, wie ein Kubernetes-Cluster mit 2 Worker-Knoten und 1 Master-Knoten auf Ubuntu 18.04 LTS-Servern eingerichtet wird. Zum Einrichten des Clusters wird das Tool „kubeadm“ verwendet, ein Tool, das „kubeadm init“ und „kubeadm join“ für die Erstellung von Kubernetes-Clustern bereitstellt. Bevor wir mit der Erstellung des Clusters fortfahren, lassen Sie uns kurz einige Begriffe verstehen.

    1. Docker
      Docker ist eine offene Plattform für die Entwicklung, den Versand und den Betrieb von Anwendungen. Docker ermöglicht es Ihnen, Ihre Anwendungen von Ihrer Infrastruktur zu trennen, so dass Sie Software schnell bereitstellen können. Mit Docker können Sie Ihre Infrastruktur auf die gleiche Weise verwalten wie Ihre Anwendungen.
    2. Image:
      Ein Bild ist eine schreibgeschützte Vorlage mit Anweisungen zum Erstellen eines Docker-Containers. Häufig basiert ein Bild auf einem anderen Bild, mit einigen zusätzlichen Anpassungen
    3. Container:
      Ein Container ist eine lauffähige Instanz eines Bildes. Sie können einen Container mithilfe der Docker-API oder CLI erstellen, starten, stoppen, verschieben oder löschen. Sie können einen Container mit einem oder mehreren Netzwerken verbinden, Speicher an ihn anhängen oder sogar ein neues Bild auf der Grundlage seines aktuellen Zustands erstellen.
    4. Kubernetes:
      Kubernetes ist ein Open-Source-Container-Orchestrierungssystem zur Automatisierung der Anwendungsbereitstellung, -skalierung und -verwaltung.
    5. Nodes:
      Ein Knoten stellt einen einzelnen Rechner im Cluster dar.
    6. Pods:
      A ist eine Gruppe von Containern, die zusammen auf demselben Host bereitgestellt werden. Es ist die grundlegende Ausführungseinheit einer Kubernetes-Anwendung.
    7. Deployments:
      Ein Deployment führt mehrere Replikate Ihrer Anwendung aus und ersetzt automatisch alle Instanzen, die ausfallen oder nicht mehr reagieren. Es bietet deklarative Aktualisierungen für Pods und ReplicaSets.
    8. Replica sets:
      Es stellt sicher, wie viele Replikate eines Pods ausgeführt werden sollen. Es kann als Ersatz für den Replikationscontroller angesehen werden.
    9. Replication-Controller:
      Er ist ein Supervisor für lang laufende Pods. Er startet eine bestimmte Anzahl von Pods, die als Replikate bezeichnet werden, und stellt sicher, dass sie die ganze Zeit laufen.
    10. Services:
      Es handelt sich um eine Abstraktion, die einen logischen Satz von Pods und eine Richtlinie für den Zugriff auf diese Pods definiert.

API Server, etcd, Controller Manager & Scheduler, sind die Komponenten des Master und Docker, Kubelet Service & Kubernetes Proxy Service sind die Komponenten des Worker Node. Wir werden diese Komponenten in diesem Dokument nicht diskutieren. Wenn Sie mehr über diese Komponenten erfahren möchten, können Sie die offizielle Seite des Kubernetes hier besuchen.

Voraussetzungen

  1. 3 Ubuntu 18.04 Server mit mindestens 2 GBs RAM und 2 CPUs.
  2. Ein Systembenutzer mit „sudo“-Zugriff auf jedem Server.

Was wir tun werden

  1. Einrichten eines Kubernetes-Clusters mit kubeadm

Einen Kubernetes-Cluster mit kubeadm einrichten

Hier,

Wir haben 3 Ubuntu 18.04 LTS-Server.

Server 1= Knoten1
Server 2= Knoten2
Server 3= Master

Bevor wir mit der eigentlichen Installation fortfahren, sollten wir den Hostnamen der Server ändern.

Sie können die folgenden Befehle verwenden, um auf jedem Server einen Hostnamen zu setzen. Nachdem Sie die folgenden Befehle auf jedem Server ausgeführt haben, melden Sie sich erneut bei den Servern an, so dass die Server einen neuen Hostnamen erhalten.

sudo hostnamectl set-hostname "master"
sudo hostnamectl set-hostname "node1"
sudo hostnamectl set-hostname "node2"

Folgen Sie den unten aufgeführten Schritten, um den funktionierenden Kubernets-Cluster aufzurufen.

Holen Sie sich die gpg-Taste des Dockers (Führen Sie den folgenden Befehl auf allen Knoten aus):

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

Fügen Sie das Docker-Repository hinzu (Führen Sie den folgenden Befehl auf allen Knoten aus):

sudo add-apt-repository    "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
  stable"

Holen Sie sich die gpg-Taste von Kubernetes (Führen Sie den folgenden Befehl auf allen Knoten aus):

curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -

Fügen Sie das Kubernetes-Repository hinzu (Führen Sie den folgenden Befehl auf allen Knoten aus):

cat << EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list
deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF

Aktualisieren Sie Ihre Pakete (Führen Sie den folgenden Befehl auf allen Knoten aus):

sudo apt-get update

Installieren Sie Docker, kubelet, kubeadm und kubectl(Führen Sie den folgenden Befehl auf allen Knoten aus):

sudo apt-get install -y docker-ce=18.06.1~ce~3-0~ubuntu kubelet=1.15.7-00 kubeadm=1.15.7-00 kubectl=1.15.7-00

 

Halten Sie sie auf der aktuellen Version (Führen Sie den folgenden Befehl auf allen Knoten aus):

sudo apt-mark hold docker-ce kubelet kubeadm kubectl

Fügen Sie die Regel iptables zu sysctl.conf hinzu (Führen Sie den folgenden Befehl auf allen Knoten aus):

echo "net.bridge.bridge-nf-call-iptables=1" | sudo tee -a /etc/sysctl.conf

iptables sofort aktivieren(Führen Sie den folgenden Befehl auf allen Knoten aus:

sudo sysctl -p

Auf Master:

Initialisieren Sie den Cluster (Führen Sie den folgenden Befehl nur auf dem Master-Knoten aus):

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

Lokale kubeconfig einrichten(Führen Sie den folgenden Befehl nur auf dem Master-Knoten aus):

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

Flannel-CNI-Netzwerk-Overlay anwenden(Führen Sie den folgenden Befehl nur auf dem Master-Knoten aus):

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

Auf Knoten1 und Knoten 2:

Verbinden Sie die Worker-Knoten mit dem Cluster (Führen Sie den folgenden Befehl nur auf Knoten1 und Knoten2 aus):

sudo kubeadm join 172.31.4.161:6443 --token 0y52t6.ffsj8jkjfcl1sq8h \
   --discovery-token-ca-cert-hash sha256:7aa1825042d19d3e567f7e4b447634e942fe9ed7f18f78464a9c05f451551ed5

Überprüfen Sie, ob die Worker-Knoten dem Cluster erfolgreich beigetreten sindFühren Sie den folgenden Befehl auf dem Master-Knoten aus):

kubectl get nodes

Schlussfolgerung:

In diesem Artikel haben wir gelernt, einen Kubernetes-Cluster mit dem kubeadm-Tool einzurichten. Wir haben gesehen, wie einfach ein Cluster erstellt werden kann, wenn die Schritte nicht versäumt werden und eine ordnungsgemäße Installation durchgeführt wird.

Das könnte dich auch interessieren …