Verwalten des kube-proxy-Add-ons - Amazon EKS

Verwalten des kube-proxy-Add-ons

kube-proxy verwaltet Netzwerkregeln auf jedem Amazon-EC2-Knoten. Es ermöglicht die Netzwerkkommunikation mit Ihren pods. kube-proxy wird nicht auf Fargate-Knoten bereitgestellt. Weitere Informationen finden Sie unter kube-proxy in der Kubernetes-Dokumentation. Für jede Kubernetes-Version sind zwei Versionen des kube-proxy-Images verfügbar.

  • Standard – Die standardmäßig mit neuen Clustern bereitgestellte Version. Dies ist die einzige Version, die Sie mit dem Amazon EKS-Add-on verwenden können.

  • Minimal – Im Gegensatz zur Standardversion basiert diese Image-Version auf einem minimalen Basis-Image, das von Amazon EKS Distro verwaltet wird und minimale Pakete enthält und keine Shells hat. Weitere Informationen finden Sie unter Amazon-EKS-Distro. Diese Version ist als selbstverwaltetes Add-on verfügbar, jedoch nicht als Amazon-EKS-Add-on. Wenn Sie diese Version installieren möchten, führen Sie die Schritte in Schritt 2 von Aktualisieren des selbstverwalteten kube-proxy-Add-ons aus und geben Sie diese Version an.

kube-proxy-Image-Version für jede von Amazon EKS unterstützte Clusterversion
Kubernetes-Version 1.22 1.21 1.20 1.19 1.18
kube-proxy (Standardversion) 1.22.6-eksbuild.1 1.21.2-eksbuild.2 1.20.4-eksbuild.2 1.19.6-eksbuild.2 1.18.8-eksbuild.1
kube-proxy (minimal) 1.22.6-minimal-eksbuild.2 1.21.9-minimal-eksbuild.2 1.20.15-minimal-eksbuild.2 1.19.16-minimal-eksbuild.2 1.18.20-minimal-eksbuild.1

Wenn Sie einen Cluster der Version 1.18 oder höher haben, dem Sie das Amazon-EKS-Add-on kube-proxy nicht hinzugefügt haben, können Sie es mithilfe des Verfahrens in Hinzufügen des kube-proxy-Amazon-EKS-Add-ons hinzufügen. Wenn Sie Ihren Cluster der Version 1.18 oder höher ab dem 3. Mai 2021 mit der AWS Management Console erstellt haben, befindet sich das kube-proxy-Amazon-EKS-Add-on bereits in Ihrem Cluster. Wenn Sie Ihren Cluster der Version 1.18 oder höher mit einem anderen Tool erstellt haben und das kube-proxy-Amazon-EKS-Add-on verwenden möchten, müssen Sie es selbst zu Ihrem Cluster hinzufügen.

Wenn Sie das kube-proxy-Amazon-EKS-Add-on zu Ihrem Cluster der Version 1.18 oder höher hinzugefügt haben, können Sie es mit den Verfahren in den Abschnitten Aktualisieren des kube-proxy-Amazon-EKS-Add-ons und Entfernen des kube-proxy-Amazon-EKS-Add-ons verwalten. Weitere Informationen zu Amazon EKS-Add-ons finden Sie unter Amazon-EKS-Add-ons.

Wenn Sie das kube-proxy-Amazon-EKS-Add-on nicht hinzugefügt haben, wird das selbstverwaltete CoreDNS-Add-on kube-proxy weiterhin auf Ihrem Cluster ausgeführt. Sie können das selbstverwaltete kube-proxy-Add-on mit dem Verfahren in Aktualisieren des selbstverwalteten kube-proxy-Add-ons manuell aktualisieren.

Voraussetzungen

  • Ein vorhandener Amazon-EKS-Cluster. Informationen zum Bereitstellen finden Sie unter Erste Schritte mit Amazon EKS.

  • Wenn die Version Ihres Clusters 1.21 oder höher ist, stellen Sie sicher, dass Ihre Amazon-VPC- und CoreDNS-Add-ons mindestens die unter Servicekonto-Tokens genannten Versionen haben.

Hinzufügen des kube-proxy-Amazon-EKS-Add-ons

Wählen Sie die Registerkarte mit dem Namen des Tools aus, mit dem Sie das kube-proxy-Amazon-EKS-Add-on zu Ihrem Cluster hinzufügen möchten.

Wichtig

Vergewissern Sie sich vor dem Hinzufügen des kube-proxy-Amazon-EKS-Add-ons, dass Sie keine Einstellungen selbst verwalten, die Amazon EKS mit der Verwaltung beginnen wird. Um zu bestimmen, welche Einstellungen Amazon EKS verwaltet, siehe Konfiguration von Amazon-EKS-Add-ons.

eksctl

So fügen Sie das kube-proxy-Amazon-EKS-Add-on mit eksctl hinzu

Ersetzen Sie my-cluster durch den Namen Ihres Clusters und führen Sie dann den folgenden Befehl aus.

eksctl create addon --name kube-proxy; --cluster my-cluster --force

Wenn Sie die Option --force entfernen und eine der Amazon-EKS-Add-on-Einstellungen mit Ihren vorhandenen Einstellungen in Konflikt steht, schlägt das Hinzufügen des Amazon-EKS-Add-ons fehl und Sie erhalten eine Fehlermeldung, die Ihnen bei der Lösung des Konflikts hilft. Stellen Sie vor dem Angeben dieser Option sicher, dass das Amazon-EKS-Add-on keine Einstellungen verwaltet, die Sie verwalten müssen, da diese Einstellungen mit dieser Option überschrieben werden. Weitere Informationen zur Amazon EKS-Add-on-Konfigurationsverwaltung finden Sie unter Konfiguration von Amazon-EKS-Add-ons.

AWS Management Console

So fügen Sie das kube-proxy-Amazon-EKS-Add-on mit dem AWS Management Console hinzu

  1. Öffnen Sie die Amazon-EKS-Konsole unter https://console.aws.amazon.com/eks/home#/clusters.

  2. Wählen Sie im linken Navigationsbereich Clusters (Cluster) aus. Wählen Sie dann den Namen des Clusters aus, für den Sie das kube-proxy-Amazon-EKS-Add-on konfigurieren möchten.

  3. Wählen Sie die Registerkarte Add-ons.

  4. Wählen Sie Neu hinzufügen.

    1. Wählen Sie kube-proxy für Name aus.

    2. Wählen Sie die Version aus, die Sie verwenden möchten.

    3. Wenn Sie Vorhandene Konfiguration für dieses Add-on im Cluster überschreiben. auswählen, dann können alle Einstellungen für das vorhandene Add-on mit den Einstellungen des Amazon-EKS-Add-ons überschrieben werden. Wenn Sie diese Option aktivieren und eine der Amazon-EKS-Add-on-Einstellungen mit Ihren vorhandenen Einstellungen in Konflikt steht, schlägt das Hinzufügen des Amazon-EKS-Add-ons fehl und Sie erhalten eine Fehlermeldung, die Ihnen bei der Lösung des Konflikts hilft. Stellen Sie vor der Auswahl dieser Option sicher, dass das Amazon-EKS-Add-on keine Einstellungen verwaltet, die Sie verwalten müssen. Weitere Informationen zur Amazon EKS-Add-on-Konfigurationsverwaltung finden Sie unter Konfiguration von Amazon-EKS-Add-ons.

    4. Wählen Sie Hinzufügen.

AWS CLI

So fügen Sie das kube-proxy-Amazon-EKS-Add-on mit dem AWS CLI hinzu

Ersetzen Sie my-cluster durch den Namen Ihres Clusters und führen Sie dann den folgenden Befehl aus.

aws eks create-addon \ --cluster-name my-cluster \ --addon-name kube-proxy \ --resolve-conflicts OVERWRITE

Wenn Sie die Option --resolve-conflicts OVERWRITE entfernen und eine der Amazon-EKS-Add-on-Einstellungen mit Ihren vorhandenen Einstellungen in Konflikt steht, schlägt das Erstellen des Add-ons fehl und Sie erhalten eine Fehlermeldung, die Sie bei der Lösung des Konflikts unterstützt. Stellen Sie vor dem Angeben dieser Option sicher, dass das Amazon-EKS-Add-on keine Einstellungen verwaltet, die Sie verwalten müssen, da diese Einstellungen mit dieser Option überschrieben werden. Weitere Informationen zur Amazon EKS-Add-on-Konfigurationsverwaltung finden Sie unter Konfiguration von Amazon-EKS-Add-ons.

Aktualisieren des kube-proxy-Amazon-EKS-Add-ons

Dieses Verfahren dient zum Aktualisieren des kube-proxy-Amazon-EKS-Add-ons. Wenn Sie das kube-proxy-Amazon-EKS-Add-on nicht hinzugefügt haben, führen Sie stattdessen das Verfahren in Aktualisieren des selbstverwalteten kube-proxy-Add-ons aus. Amazon EKS aktualisiert kube-proxy auf Ihrem Cluster nicht automatisch, wenn neue Versionen veröffentlicht werden oder nachdem Sie Ihren Cluster auf eine neue Kubernetes-Nebenversion aktualisiert haben. Um kube-proxy auf einem vorhandenen Cluster zu aktualisieren, müssen Sie das Update initiieren und Amazon EKS aktualisiert dann das Add-on für Sie.

Wichtig

Aktualisieren Sie Ihren Cluster und Ihre Knoten auf eine neue Kubernetes-Nebenversion, bevor Sie kube-proxy auf dieselbe Nebenversion wie die Nebenversion Ihres aktualisierten Clusters aktualisieren.

eksctl

So aktualisieren Sie das kube-proxy-Amazon EKS-Add-on mit eksctl

  1. Überprüfen Sie die aktuelle Version Ihres kube-proxy-Amazon-EKS-Add-ons. Ersetzen Sie my-cluster mit Ihrem Clusternamen.

    eksctl get addon --name kube-proxy --cluster my-cluster

    Die Beispielausgabe lautet wie folgt.

    NAME VERSION STATUS ISSUES IAMROLE UPDATE AVAILABLE kube-proxy v1.19.6-eksbuild.2 ACTIVE 0 v1.20.4-eksbuild.2
  2. Aktualisieren Sie das Add-on auf die unter UPDATE AVAILABLE in der Ausgabe des vorherigen Schritts zurückgegebene Version.

    eksctl update addon \ --name kube-proxy \ --version v1.20.4-eksbuild.2 \ --cluster my-cluster \ --force

    Wenn Sie die Option --force entfernen und eine der Amazon-EKS-Add-on-Einstellungen mit Ihren vorhandenen Einstellungen in Konflikt steht, schlägt die Aktualisierung des Add-ons fehl und Sie erhalten eine Fehlermeldung, die Sie bei der Lösung des Konflikts unterstützt. Stellen Sie vor dem Angeben dieser Option sicher, dass das Amazon-EKS-Add-on keine Einstellungen verwaltet, die Sie verwalten müssen, da diese Einstellungen mit dieser Option überschrieben werden. Weitere Informationen zur Amazon EKS-Add-on-Konfigurationsverwaltung finden Sie unter Konfiguration von Amazon-EKS-Add-ons.

AWS Management Console

So aktualisieren Sie das kube-proxy-Amazon EKS-Add-on mit dem AWS Management Console

  1. Öffnen Sie die Amazon-EKS-Konsole unter https://console.aws.amazon.com/eks/home#/clusters.

  2. Wählen Sie im linken Navigationsbereich Clusters (Cluster) aus. Wählen Sie dann den Namen des Clusters aus, für den Sie das kube-proxy-Amazon-EKS-Add-on aktualisieren möchten.

  3. Wählen Sie die Registerkarte Add-ons.

  4. Wählen Sie das Kästchen oben rechts in der kube-proxy-Box aus und wählen Sie dann Bearbeiten.

    1. Wählen Sie die Version des Amazon-EKS-Add-ons aus, die Sie verwenden möchten.

    2. Wenn Sie Vorhandene Konfiguration für dieses Add-on im Cluster überschreiben. auswählen, dann können alle Einstellungen für das vorhandene Add-on mit den Einstellungen des Amazon-EKS-Add-ons überschrieben werden. Wenn Sie diese Option nicht aktivieren und eine der Amazon-EKS-Add-on-Einstellungen mit Ihren vorhandenen Einstellungen in Konflikt steht, schlägt die Aktualisierung des Add-ons auf ein Amazon-EKS-Add-on fehl und Sie erhalten eine Fehlermeldung, die Ihnen bei der Behebung des Problems hilft. Konflikt. Stellen Sie vor der Auswahl dieser Option sicher, dass das Amazon-EKS-Add-on keine Einstellungen verwaltet, die Sie verwalten müssen. Weitere Informationen zur Amazon EKS-Add-on-Konfigurationsverwaltung finden Sie unter Konfiguration von Amazon-EKS-Add-ons.

    3. Wählen Sie Aktualisieren.

AWS CLI

So aktualisieren Sie das kube-proxy-Amazon EKS-Add-on mit dem AWS CLI

  1. Überprüfen Sie die aktuelle Version Ihres kube-proxy-Amazon-EKS-Add-ons. Ersetzen Sie my-cluster mit Ihrem Clusternamen.

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

    Die Beispielausgabe lautet wie folgt.

    v1.19.6-eksbuild.2
  2. Bestimmen Sie, welche Versionen des kube-proxy-Add-ons für die Version Ihres Clusters verfügbar sind.

    aws eks describe-addon-versions \ --addon-name kube-proxy \ --kubernetes-version 1.20 \ --query "addons[].addonVersions[].[addonVersion, compatibilities[].defaultVersion]" \ --output text

    Die Beispielausgabe lautet wie folgt.

    v1.20.4-eksbuild.2 True v1.19.6-eksbuild.2 False v1.18.8-eksbuild.1 False

    Die Version mit True darunter ist die Standardversion, die mit neuen Clustern mit der von Ihnen angegebenen Version bereitgestellt wird.

  3. Aktualisieren Sie das Add-on auf die Version, bei der True in der Ausgabe des vorherigen Schritts zurückgegeben wurde. Sie können auch auf eine neuere Version aktualisieren, wenn sie in der Ausgabe zurückgegeben wird.

    aws eks update-addon \ --cluster-name my-cluster \ --addon-name kube-proxy \ --addon-version v1.20.4-eksbuild.2 \ --resolve-conflicts OVERWRITE

    Wenn Sie die Option --resolve-conflicts OVERWRITE entfernen und eine der Amazon-EKS-Add-on-Einstellungen mit Ihren vorhandenen Einstellungen in Konflikt steht, schlägt die Aktualisierung des Add-ons fehl und Sie erhalten eine Fehlermeldung, die Sie bei der Lösung des Konflikts unterstützt. Stellen Sie vor dem Angeben dieser Option sicher, dass das Amazon-EKS-Add-on keine Einstellungen verwaltet, die Sie verwalten müssen, da diese Einstellungen mit dieser Option überschrieben werden. Weitere Informationen zur Amazon EKS-Add-on-Konfigurationsverwaltung finden Sie unter Konfiguration von Amazon-EKS-Add-ons.

Entfernen des kube-proxy-Amazon-EKS-Add-ons

Beim Entfernen eines Amazon-EKS-Add-ons stehen Ihnen zwei Optionen zur Verfügung:

  • Beibehalten der Add-on-Software auf Ihrem Cluster – Diese Option entfernt die Amazon-EKS-Verwaltung aller Einstellungen und die Möglichkeit für Amazon EKS, Sie über Updates zu benachrichtigen und das Amazon-EKS-Add-on automatisch zu aktualisieren, nachdem Sie ein Update gestartet haben, behält jedoch das Add-on bei. on-Software auf Ihrem Cluster. Diese Option macht das Add-on zu einem selbstverwalteten Add-on und nicht zu einem Amazon-EKS-Add-on. Es gibt keine Ausfallzeiten für das Add-on.

  • Vollständiges Entfernen der Add-on-Software aus Ihrem Cluster – Sie sollten das Amazon-EKS-Add-on nur aus Ihrem Cluster entfernen, wenn auf Ihrem Cluster keine Ressourcen vorhanden sind, die von der Funktionalität des Add-ons abhängig sind. Nachdem Sie das Amazon-EKS-Add-on entfernt haben, können Sie es bei Bedarf erneut hinzufügen.

Wenn dem Add-on ein IAM-Konto zugeordnet ist, wird das IAM-Konto nicht entfernt.

Wählen Sie die Registerkarte mit dem Namen des Tools aus, mit dem Sie das kube-proxy-Amazon-EKS-Add-on aus Ihrem Cluster der Version 1.18 oder höher entfernen möchten.

eksctl

So entfernen Sie das kube-proxy-Amazon EKS-Add-on mit eksctl

Ersetzen Sie my-cluster durch den Namen Ihres Clusters und führen Sie dann den folgenden Befehl aus. Durch das Entfernen von --preserve wird die Add-on-Software aus Ihrem Cluster entfernt.

eksctl delete addon --cluster my-cluster --name kube-proxy --preserve
AWS Management Console

So entfernen Sie das kube-proxy-Amazon-EKS-Add-on mit dem AWS Management Console

  1. Öffnen Sie die Amazon-EKS-Konsole unter https://console.aws.amazon.com/eks/home#/clusters.

  2. Wählen Sie im linken Navigationsbereich Clusters (Cluster) aus. Wählen Sie dann den Namen des Clusters aus, für den Sie das kube-proxy-Amazon-EKS-Add-on entfernen möchten.

  3. Wählen Sie die Registerkarte Add-ons.

  4. Aktivieren Sie das Kontrollkästchen oben rechts im Feld kube-proxy und wählen Sie dann Entfernen. Geben Sie kube-proxy ein und wählen Sie dann Entfernen aus.

AWS CLI

So entfernen Sie das kube-proxy-Amazon-EKS-Add-on mit dem AWS CLI

Ersetzen Sie my-cluster durch den Namen Ihres Clusters und führen Sie dann den folgenden Befehl aus. Durch das Entfernen von --preserve wird die Add-on-Software aus Ihrem Cluster entfernt.

aws eks delete-addon --cluster-name my-cluster --addon-name kube-proxy --preserve

Aktualisieren des selbstverwalteten kube-proxy-Add-ons

Wenn Sie einen Cluster haben, dem Sie das Amazon-EKS-Add-on kube-proxy nicht hinzugefügt haben, führen Sie die folgenden Schritte aus, um das selbstverwaltete Add-on zu aktualisieren. Wenn Sie das kube-proxy-Amazon-EKS-Add-on hinzugefügt haben, führen Sie stattdessen das Verfahren in Aktualisieren des kube-proxy-Amazon-EKS-Add-ons aus.

Wichtig

Aktualisieren Sie Ihren Cluster und Ihre Knoten auf eine neue Kubernetes-Nebenversion, bevor Sie kube-proxy auf dieselbe Nebenversion wie die Nebenversion Ihres aktualisierten Clusters aktualisieren.

So aktualisieren Sie das selbstverwaltete kube-proxy-Add-on mit kubectl

  1. Prüfen Sie die aktuelle Version Ihrer kube-proxy-Bereitstellung.

    kubectl get daemonset kube-proxy \ --namespace kube-system \ -o=jsonpath='{$.spec.template.spec.containers[:1].image}'

    Die Beispielausgabe lautet wie folgt.

    602401143452.dkr.ecr.region-code.amazonaws.com/eks/kube-proxy:v1.21.2-eksbuild.2
  2. Aktualisieren Sie das Add-on kube-proxy, indem Sie 602401143452 und region-code durch die Werte aus Ihrer Ausgabe ersetzen. Ersetzen Sie 1.22.6-eksbuild.1 durch die kube-proxy-Version, die in der Tabelle kube-proxy-Version, die mit jeder von Amazon EKS unterstützten Clusterversion bereitgestellt wird für Ihre Clusterversion aufgeführt ist.

    kubectl set image daemonset.apps/kube-proxy \ -n kube-system \ kube-proxy=602401143452.dkr.ecr.region-code.amazonaws.com/eks/kube-proxy:v1.22.6-eksbuild.1
  3. (Optional) 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 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 Hardwarearchitektur des Knotens das richtige Hardware-Image abrufen.

    - key: "kubernetes.io/arch" operator: In values: - amd64 - arm64
  4. (Optional) 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 verwenden möchten, bearbeiten Sie Ihr kube-proxy-Manifest so, dass es eine NodeAffinity-Regel enthält, um zu verhindern, dass kube-proxy pods auf Fargate-Knoten geplant werden. Dies ist eine einmalige Bearbeitung. Nachdem Sie das Affinity Rule zu Ihrem Manifest hinzugefügt haben, müssen Sie es nicht jedes Mal hinzufügen, wenn Sie Ihren Cluster aktualisieren. Bearbeiten Sie Ihr kube-proxy-DaemonSet.

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

    Fügen Sie dem Abschnitt DaemonSet spec der Datei im Editor das folgende Affinity Rule 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