Selbstverwaltetes Kubernetes kube-proxy-Add-On aktualiseren - Amazon EKS

Unterstützung für die Verbesserung dieser Seite beitragen

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Um zu diesem Benutzerhandbuch beizutragen, wählen Sie den GitHub Link Diese Seite bearbeiten auf, der sich im rechten Bereich jeder Seite befindet.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Selbstverwaltetes Kubernetes kube-proxy-Add-On aktualiseren

Wichtig

Wir empfehlen, den Amazon-EKS-Typ des Add-Ons zu Ihrem Cluster hinzuzufügen, anstatt den selbstverwalteten Typ des Add-Ons zu verwenden. Wenn Sie noch keine Erfahrung mit den Unterschieden zwischen den Typen haben, finden Sie weitere Informationen unter Amazon-EKS-Add-ons. Weitere Informationen zum Hinzufügen eines Amazon-EKS-Add-ons zu Ihrem Cluster finden Sie unter Erstellung eines Amazon-EKS-Add-Ons. Wenn Sie das Amazon-EKS-Add-On nicht verwenden können, empfehlen wir Ihnen, ein Problem zu den Gründen, warum Sie es nicht verwenden können, an das GitHub-Repository Containers Roadmap zu senden.

Voraussetzungen

Überlegungen

  • Kube-proxy in einem Amazon-EKS-Cluster verfügt über die gleiche Kompatibilitäts- und Skew-Richtlinie wie Kubernetes. Erfahren Sie, wie Sie die Kompatibilität der Add-On-Version für Amazon EKS mit einem Cluster überprüfen.

    1. Vergewissern Sie sich, dass Sie das selbstverwaltete Add-On auf Ihrem Cluster installiert haben. Ersetzen Sie my-cluster durch den Namen Ihres Clusters.

      aws eks describe-addon --cluster-name my-cluster --addon-name kube-proxy --query addon.addonVersion --output text

      Wenn Sie eine Fehlermeldung erhalten, wird das Add-On als selbstverwaltetes Add-On auf Ihrem Cluster installiert. Die verbleibenden Schritte in diesem Thema beziehen sich auf die Aktualisierung des selbstverwalteten Typs des Add-Ons. Wenn Sie eine Versionsnummer zurückgeben, wird der Amazon-EKS-Typ des Add-Ons auf Ihrem Cluster installiert. Verwenden Sie zum Aktualisieren das Verfahren unter Aktualisierung eines Amazon-EKS-Add-Ons und nicht das Verfahren in diesem Thema. Wenn Sie mit den Unterschieden zwischen den Add-On-Typen nicht vertraut sind, finden Sie Informationen unter Amazon-EKS-Add-ons.

    2. Sehen Sie, welche Version des Container-Images derzeit auf Ihrem Cluster installiert ist.

      kubectl describe daemonset kube-proxy -n kube-system | grep Image

      Eine Beispielausgabe sieht wie folgt aus.

      Image: 602401143452.dkr.ecr.region-code.amazonaws.com/eks/kube-proxy:v1.29.1-eksbuild.2

      In der Beispielausgabe ist v1.29.1-eksbuild.2 die auf dem Cluster installierte Version.

    3. Aktualisieren Sie das kube-proxy-Add-On, indem Sie 602401143452 und region-code durch die Werte aus Ihrer Ausgabe im vorherigen Schritt ersetzen. Ersetzen Sie v1.30.6-eksbuild.3 durch die kube-proxy-Version, die in der Tabelle Neueste verfügbare selbstverwaltete Kube-Proxy-Container-Image-Version für jede Amazon-EKS-Cluster-Version aufgeführt ist.

      Wichtig

      Die Manifeste für jeden Image-Typ sind unterschiedlich und nicht zwischen den Standard- oder minimale Image-Typen kompatibel. Sie müssen denselben Image-Typ wie beim vorherigen Image verwenden, damit der Einstiegspunkt und die Argumente übereinstimmen.

      kubectl set image daemonset.apps/kube-proxy -n kube-system kube-proxy=602401143452.dkr.ecr.region-code.amazonaws.com/eks/kube-proxy:v1.30.6-eksbuild.3

      Eine Beispielausgabe sieht wie folgt aus.

      daemonset.apps/kube-proxy image updated
    4. Vergewissern Sie sich, dass die neue Version jetzt auf Ihrem Cluster installiert ist.

      kubectl describe daemonset kube-proxy -n kube-system | grep Image | cut -d ":" -f 3

      Eine Beispielausgabe sieht wie folgt aus.

      v1.30.0-eksbuild.3
    5. Wenn Sie x86- und Arm-Knoten im selben Cluster verwenden und Ihr Cluster vor dem 17. August 2020 bereitgestellt wurde. Bearbeiten Sie dann Ihr kube-proxy-Manifest, um einen Knotenselektor für mehrere Hardwarearchitekturen mit dem folgenden Befehl einzuschließen. Dies ist ein einmaliger Vorgang. Nachdem Sie den Selektor zu Ihrem Manifest hinzugefügt haben, müssen Sie ihn nicht bei jeder Aktualisierung des Add-Ons hinzufügen. Wenn Ihr Cluster am oder nach dem 17. August 2020 bereitgestellt wurde, ist kube-proxy bereits Multi-Architektur-fähig.

      kubectl edit -n kube-system daemonset/kube-proxy

      Fügen Sie der Datei im Editor den folgenden Knotenselektor hinzu und speichern Sie die Datei. Ein Beispiel dafür, wo dieser Text in den Editor eingefügt werden soll, finden Sie in der CNI-Manifest-Datei auf GitHub. Dadurch kann Kubernetes basierend auf der Hardware-Architektur des Knotens das richtige Hardware-Image abrufen.

      - key: "kubernetes.io/arch" operator: In values: - amd64 - arm64
    6. Wenn Ihr Cluster ursprünglich mit der Kubernetes-Version 1.14 oder höher erstellt wurde, können Sie diesen Schritt überspringen, da kube-proxy bereits diese Affinity Rule enthält. Wenn Sie ursprünglich einen Amazon-EKS-Cluster mit der Kubernetes-Version 1.13 oder früher erstellt haben und Fargate-Knoten in Ihrem Cluster verwenden älter, bearbeiten Sie Ihr kube-proxy-Manifest so, dass es eine NodeAffinity-Regel enthält, um zu verhindern, dass kube-proxy Pods in Fargate-Knoten geplant werden. Dies ist eine einmalige Bearbeitung. Sobald Sie das Affinity Rule zu Ihrem Manifest hinzugefügt haben, müssen Sie es nicht jedes Mal hinzufügen, wenn Sie das Add-On aktualisieren. Bearbeiten Sie Ihr kube-proxy-DaemonSet.

      kubectl edit -n kube-system daemonset/kube-proxy

      Fügen Sie die folgende Affinity Rule zum Abschnitt DaemonSet spec der Datei im Editor hinzu und speichern Sie die Datei. Ein Beispiel dafür, wo dieser Text in den Editor eingefügt werden soll, finden Sie in der CNI-Manifest-Datei auf GitHub.

      - key: eks.amazonaws.com/compute-type operator: NotIn values: - fargate