Unterstützung für die Verbesserung dieser Seite beitragen
Um zu diesem Benutzerhandbuch beizutragen, klicken Sie auf den Link Diese Seite auf GitHub bearbeiten, der sich im rechten Bereich jeder Seite befindet.
Patch-Sicherheitsaktualisierungen für Hybridknoten
In diesem Thema wird das Verfahren zum direkten Patchen von Sicherheitsupdates für bestimmte Pakete und Abhängigkeiten beschrieben, die auf Ihren Hybridknoten ausgeführt werden. Als bewährte Methode empfehlen wir Ihnen, Ihre Hybridknoten regelmäßig zu aktualisieren, um CVEs und Sicherheits-Patches zu erhalten.
Schritte zum Upgrade der Kubernetes-Version finden Sie unter Aktualisierung von Hybridknoten für Ihren Cluster.
Ein Beispiel für Software, die möglicherweise Sicherheits-Patches benötigt, ist containerd.
Containerd
containerd ist die Standard-Kubernetes-Container-Laufzeitumgebung und Kernabhängigkeit für EKS-Hybridknoten, die zur Verwaltung des Container-Lebenszyklus verwendet wird, einschließlich des Abrufens von Images und der Verwaltung der Container-Ausführung. Auf einem Hybridknoten können Sie containerd über die nodeadm CLI oder manuell installieren. Abhängig vom Betriebssystem Ihres Knotens installiert nodeadm containerd aus dem vom Betriebssystem bereitgestellten Paket oder dem Docker-Paket.
Wenn eine CVE in containerd veröffentlicht wurde, stehen Ihnen die folgenden Optionen zur Verfügung, um auf Ihren Hybridknoten ein Upgrade auf die gepatchte Version von containerd durchzuführen.
Schritt 1: Überprüfen, ob der Patch in den Paket-Managern veröffentlicht wurde
Sie können überprüfen, ob der containerd-CVE-Patch für den jeweiligen Betriebssystem-Paket-Manager veröffentlicht wurde, indem Sie die entsprechenden Sicherheitsberichte lesene:
Wenn Sie das Docker-Repository als Quelle von containerd verwenden, können Sie die Docker-Sicherheitsankündigungen
Schritt 2: Methode zur Installation des Patches auswählen
Es gibt drei Methoden, um Sicherheitsupgrades direkt auf Knoten zu patchen und zu installieren. Welche Methode Sie verwenden können, hängt davon ab, ob der Patch vom Betriebssystem im Paket-Manager verfügbar ist oder nicht:
-
Installieren Sie Patches mit
nodeadm upgrade, die in Paket-Managern veröffentlicht wurden, siehe Schritt 2 a. -
Installieren Sie Patches direkt mit den Paket-Managern, siehe Schritt 2 b.
-
Installieren Sie benutzerdefinierte Patches, die nicht in Paket-Managern veröffentlicht wurden. Beachten Sie, dass für benutzerdefinierte Patches für
containerd, Schritt 2 c, besondere Überlegungen angestellt werden müssen.
Schritt 2 a: Patchen mit nodeadm upgrade
Nachdem Sie bestätigt haben, dass der containerd-CVE-Patch im Betriebssystem oder in den Docker-Repos (entweder Apt oder RPM) veröffentlicht wurde, können Sie mit dem nodeadm upgrade-Befehl auf die neueste Version von containerd aktualisieren. Da es sich hierbei nicht um ein Upgrade der Kubernetes-Version handelt, müssen Sie Ihre aktuelle Kubernetes-Version an den nodeadm-Upgrade-Befehl übergeben.
nodeadm upgradeK8S_VERSION--config-source file:///root/nodeConfig.yaml
Schritt 2 b: Patchen mit Paket-Managern des Betriebssystems
Alternativ können Sie auch über den jeweiligen Paket-Manager aktualisieren und damit das containerd-Paket wie folgt aktualisieren.
Amazon Linux 2023
sudo yum update -y sudo yum install -y containerd
RHEL
sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo sudo yum update -y sudo yum install -y containerd
Ubuntu
sudo mkdir -p /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt update -y sudo apt install -y --only-upgrade containerd.io
Schritt 2 c: Containerd-CVE-Patch nicht in Paket-Managern veröffentlicht
Wenn die gepatchte containerd-Version nur über andere Kanäle als den Paket-Manager verfügbar ist, beispielsweise in GitHub-Veröffentlichungen, können Sie containerd von der offiziellen GitHub-Website installieren.
-
Wenn der Rechner bereits als Hybridknoten dem Cluster beigetreten ist, müssen Sie den
nodeadm uninstall-Befehl ausführen. -
Installieren Sie die offiziellen
containerd-Binärdateien. Befolgen Sie die offiziellen Installationsschritteauf GitHub. -
Führen Sie den
nodeadm install-Befehl mit dem--containerd-source-Argumentnoneaus, wodurch diecontainerd-Installation übernodeadmübersprungen wird. Sie können den Wertnonein dercontainerd-Quelle für jedes Betriebssystem verwenden, auf dem der Knoten ausgeführt wird.nodeadm installK8S_VERSION--credential-providerCREDS_PROVIDER--containerd-source none