Kubernetes Setup · 4 min read · Nov 03, 2025

Ein Kubernetes-Cluster auf AWS EC2-Instanz mit Ubuntu unter Verwendung von kubeadm einrichten

In diesem Artikel werden wir sehen, wie man einen Kubernetes-Cluster mit 2 Worker-Nodes und 1 Master-Node auf Ubuntu 18.04 LTS-Servern einrichtet. Wir werden das kubeadm-Tool verwenden, um den Cluster einzurichten. Kubeadm ist ein Tool, das entwickelt wurde, um kubeadm init und kubeadm join für die Erstellung von Kubernetes-Clustern bereitzustellen. Bevor wir mit der Erstellung des Clusters fortfahren, lassen Sie uns einige Begriffe kurz verstehen.

  1. Docker:
    Docker ist eine offene Plattform zum Entwickeln, Versenden und Ausführen von Anwendungen. Docker ermöglicht es Ihnen, Ihre Anwendungen von Ihrer Infrastruktur zu trennen, sodass Sie Software schnell bereitstellen können. Mit Docker können Sie Ihre Infrastruktur auf die gleiche Weise verwalten, wie Sie Ihre Anwendungen verwalten.
  2. Image:
    Ein Image ist eine schreibgeschützte Vorlage mit Anweisungen zur Erstellung eines Docker-Containers. Oft basiert ein Image auf einem anderen Image mit einigen zusätzlichen Anpassungen.
  3. Container:
    Ein Container ist eine ausführbare Instanz eines Images. Sie können einen Container mit der Docker-API oder CLI erstellen, starten, stoppen, verschieben oder löschen. Sie können einen Container mit einem oder mehreren Netzwerken verbinden, Speicher anhängen oder sogar ein neues Image basierend auf seinem aktuellen Zustand erstellen.
  4. Kubernetes:
    Kubernetes ist ein Open-Source-System zur Orchestrierung von Containern zur Automatisierung der Bereitstellung, Skalierung und Verwaltung von Anwendungen.
  5. Nodes:
    Ein Node stellt eine einzelne Maschine im Cluster dar.
  6. Pods:
    Ein Pod 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 fehlschlagen oder nicht mehr reagieren. Es bietet deklarative Updates für Pods und ReplicaSets.
  8. Replica Set:
    Es stellt sicher, wie viele Replikate eines Pods ausgeführt werden sollen. Es kann als Ersatz für den Replikationscontroller betrachtet werden.
  • Replication Controller:
    Er ist ein Aufseher für langlaufende Pods. Er startet eine bestimmte Anzahl von Pods, die als Replikate bezeichnet werden, und stellt sicher, dass sie die ganze Zeit über ausgeführt werden.
  1. Service:
    Er ist eine Abstraktion, die eine logische Menge von Pods und eine Richtlinie definiert, um auf sie zuzugreifen.

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

Voraussetzungen

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

Was wir tun werden

  1. Ein Kubernetes-Cluster mit kubeadm einrichten

Ein Kubernetes-Cluster mit kubeadm einrichten

Hier,

Wir haben 3 Ubuntu 18.04 LTS-Server.

Server 1= node1
Server 2= node2
Server 3= master

Bevor wir mit der eigentlichen Installation fortfahren, lassen Sie uns den Hostnamen der Server ändern.

Sie können die folgenden Befehle verwenden, um einen Hostnamen auf jedem Server festzulegen. Nach der Ausführung der folgenden Befehle auf jedem Server melden Sie sich erneut bei den Servern an, damit die Server einen neuen Hostnamen erhalten.

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

Befolgen Sie die unten aufgeführten Schritte, um den funktionierenden Kubernetes-Cluster einzurichten.

Holen Sie sich den Docker gpg-Schlüssel *(Führen Sie den folgenden Befehl auf allen Nodes 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 Nodes aus):

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

Holen Sie sich den Kubernetes gpg-Schlüssel (Führen Sie den folgenden Befehl auf allen Nodes 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 Nodes 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 Nodes aus):

sudo apt-get update

Installieren Sie Docker, kubelet, kubeadm und kubectl (Führen Sie den folgenden Befehl auf allen Nodes 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 Nodes aus):

sudo apt-mark hold docker-ce kubelet kubeadm kubectl

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

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

Aktivieren Sie iptables sofort (Führen Sie den folgenden Befehl auf allen Nodes aus):

sudo sysctl -p

Auf dem Master:

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

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

Richten Sie die lokale kubeconfig ein *(Führen Sie den folgenden Befehl nur auf dem Master-Node aus)*:

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

Wenden Sie das Flannel CNI-Netzwerk-Overlay an (Führen Sie den folgenden Befehl nur auf dem Master-Node aus):

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

Auf Node1 und Node 2:

Fügen Sie die Worker-Nodes dem Cluster hinzu (Führen Sie den folgenden Befehl nur auf Node1 und Node2 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-Nodes erfolgreich dem Cluster beigetreten sind (Führen Sie den folgenden Befehl auf dem Master-Node aus):

kubectl get nodes

Fazit:

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

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.