Blog

Aktualisieren eines Kubernetes-Clusters mit Kubeadm

Bild von Boyan Kirov
Bojan Kirow
DevOps- und Cloud-Ingenieur
02.02.2024
Lesezeit: 2 Minuten.
Zuletzt aktualisiert am: 04.03.2025

Inhaltsübersicht

Hinweis: Das folgende Beispiel zeigt das Upgrade eines Kubernetes-Clusters von Version 1.23 auf 1.24. Ersetzen Sie die Versionsnummern entsprechend Ihrer spezifischen Einrichtung.

Aktualisieren eines Kubernetes-Clusters mit Kubeadm

Um ein nahtloses Upgrade zu gewährleisten, ist es wichtig, diese Schritte der Reihe nach zu befolgen:

  1. Aktualisieren Sie den Knoten "Control Plane".
  2. Upgrade von Worker Nodes.

Aktualisieren Sie außerdem die folgenden Komponenten sowohl auf der Steuerungsebene als auch auf den Worker-Knoten:

  • Kubeadm
  • Kubelet
  • Kubectl

Bevor Sie mit dem Upgrade beginnen, müssen Sie die Namen des Clusters und der Knoten ermitteln. Führen Sie den folgenden Befehl aus, um die Knotennamen abzurufen:

kubectl get nodes

Upgrade der Steuerungsebene (Master-Knoten)

Schritt 1: Überprüfen Sie die vorhandene Kubeadm-Version

Melden Sie sich bei der Steuerungsebene an und überprüfen Sie die vorhandene Version mit dem folgenden Befehl:

kubeadm version -o json

Schritt 2: Entscheiden Sie sich für die Upgrade-Version

Erhalten Sie eine Liste der verfügbaren Kubeadm-Versionen:

sudo apt update
sudo apt-cache madison kubeadm | tac

Alternativ können Sie auch einen kubeadm-Upgrade-Plan ausführen, um Upgrade-Vorschläge zu erhalten:

sudo kubeadm upgrade plan

Schritt 3: Entpacken Sie kubeadm und installieren Sie die gewünschte Version

Deaktivieren Sie kubeadm und installieren Sie die gewünschte Version:

sudo apt-mark unhold kubeadm && \
sudo apt-get update && sudo apt-get install -y kubeadm=1.24.6-00 && \
sudo apt-mark hold kubeadm

Schritt 4: Kubeadm-Upgrade anwenden

Wenden Sie das Upgrade an:

sudo kubeadm upgrade node

Schritt 5: Verdrängen aller Arbeitslasten aus der Steuerungsebene

Um das Upgrade durchzuführen, müssen Sie alle Workloads außer Daemonsets entfernen:

kubectl drain master-node --ignore-daemonsets

Wenn Sie lokalen Speicher verwenden, fügen Sie -delete-local-data ein:

sudo kubectl drain master-node --ignore-daemonsets --delete-local-data

Schritt 6: Upgrade von Kubelet und Kubectl

Entsperren und aktualisieren Sie kubectl und kubelet:

sudo apt-mark unhold kubelet kubectl && \

sudo apt-get update && sudo apt-get install -y kubelet=1.24.6-00 kubectl=1.24.6-00 && \

sudo apt-mark hold kubelet kubectl\

Starten Sie die Dienste neu:

sudo systemctl daemon-reload
sudo systemctl restart kubelet

Schritt 7: Entschärfen des Knotens und Überprüfen des Knotenstatus

Entkoppeln Sie den Knoten der Steuerungsebene:

kubectl uncordon master-node

Überprüfen Sie den Knotenstatus und die Version:

kubectl get nodes
Entkoppeln des Knotens und Überprüfen des Knotenstatus

Upgrade von Worker Nodes

Schritt 1: Kubeadm entpacken und erforderliche Version installieren

Installieren Sie die erforderliche Version von Kubeadm auf den Worker Nodes:

sudo apt-mark unhold kubeadm && \
sudo apt-get update && sudo apt-get install -y kubeadm=1.24.6-00 && \
sudo apt-mark hold kubeadm

Schritt 2: Upgrade von Kubeadm

Führen Sie den folgenden Befehl auf jedem Arbeitsknoten aus:

sudo kubeadm upgrade node

Schritt 3: Entleeren des Knotens

Evakuieren Sie alle Pods auf dem Arbeitsknoten, indem Sie ihn entleeren:

kubectl drain worker-node01 --ignore-daemonsets

Schritt 4: Upgrade von Kubelet und Kubectl

Aktualisieren Sie kubelet und kubectl:

sudo apt-mark unhold kubelet kubectl && \
sudo apt-get update && sudo apt-get install -y kubelet=1.24.6-00 kubectl=1.24.6-00 && \
sudo apt-mark hold kubelet kubectl

Starten Sie kubelet neu:

sudo systemctl daemon-reload
sudo systemctl restart kubelet

Schritt 5: Arbeiterknoten abkoppeln

kubectl uncordon worker-node01

Überprüfen des Cluster-Upgrades

Prüfen Sie, ob der Cluster aufgerüstet und betriebsbereit ist

kubectl get nodes

Überprüfen Sie den Status aller Clusterkomponenten:

kubectl get --raw='/readyz?verbose'
curl -k https://localhost:6443/livez?verbose

Stellen Sie außerdem sicher, dass alle kube-system control node pods laufen:

kubectl get po -n kube-system

Damit ist der Upgrade-Prozess für den Kubernetes-Cluster abgeschlossen.

Eine Antwort hinterlassen

Newsletter für Tech-Experten

Signal, kein Rauschen –

direkt in Ihren Posteingang.

Schließen Sie sich mehr als 12.000 Ingenieuren und Führungskräften aus der Wirtschaft an, die Praxisberichte zu SRE, DevOps und Cloud-nativer Zuverlässigkeit erhalten.

Tech-Blogs mit tiefgehenden Einblicken und Fallstudien
Neue Technologien, sorgfältig ausgewählt

Ihre geschäftliche E-Mail-Adresse

Wir gehen respektvoll mit Ihrem Posteingang um. Lesen Sie unsere Datenschutzerklärung.

Mehr Beiträge

AI SRE Agent: Die ersten 20 Minuten eines Vorfalls automatisieren Es ist 3 Uhr morgens. Ein Alarm wird ausgelöst. Sie klappen Ihren Laptop auf, und die nächsten zwanzig Minuten verlaufen wie immer...
Lesen
Die sichere Verwaltung von Geheimnissen in Kubernetes stellt eine entscheidende Herausforderung für moderne Cloud-native Umgebungen dar. Anmeldedaten für Anwendungen, Zertifikate, private Schlüssel und Passwörter müssen auf sichere und nachverfolgbare Weise verwaltet werden, ...
Lesen
Kontakt aufnehmen
ITGix bietet Ihnen fachkundige Beratung und maßgeschneiderte DevOps-Services, um Ihr Unternehmenswachstum zu beschleunigen.
Newsletter für
Technik-Experten
Schließen Sie sich 12.000+ Geschäftsführern und Ingenieuren an, die Blogs, e-Books und Fallstudien Fallstudien über neue Technologie erhalten.