Verwalten der Amazon VPC CNI plugin for Kubernetes - Amazon EKS

Verwalten der Amazon VPC CNI plugin for Kubernetes

Amazon EKS unterstützt natives VPC-Netzwerk mit dem Amazon VPC Container-Network-Interface-Plugin (CNI) für Kubernetes. Dieses Plugin ermöglicht es Kubernetes-pods innerhalb des pod dieselbe IP-Adresse haben, die sie auch auf dem VPC-Netzwerk haben. Weitere Informationen finden Sie unter Pod-Netzwerke in Amazon EKS mit dem Amazon-VPC-CNI-Plugin für Kubernetes.

Wenn Sie einen Cluster der Version 1.18 oder höher mit der AWS Management Console erstellt haben, hat Amazon EKS das Plugin als Amazon-EKS-Add-on für Sie installiert. Wenn Sie einen Cluster der Version 1.18 oder höher mit einer anderen Methode als der AWS Management Console erstellt haben, hat Amazon EKS das Plugin als selbstverwaltetes Add-on für Sie installiert. Das selbstverwaltete Add-on lässt sich mit dem Verfahren in Hinzufügen des Amazon-VPC-CNI-Amazon-EKS-Add-ons zum Amazon-EKS-Add-on migrieren. Wenn Sie über einen Cluster verfügen, zu dem Sie bereits das Amazon VPC CNI plugin for Kubernetes-Add-on hinzugefügt haben, können Sie ihn mit den Verfahren in den Abschnitten Aktualisieren des Amazon VPC CNI plugin for Kubernetes-Add-ons und Entfernen des Amazon VPC CNI plugin for Kubernetes-Add-ons verwalten. Weitere Informationen zu Amazon-EKS-Add-ons finden Sie unter Amazon-EKS-Add-ons.

Empfohlene Version des Add-ons Amazon VPC CNI für die einzelnen Clusterversionen
1.22 1.21 1.20 1.19 1.18
Version des Add-ons 1.11.2-eksbuild.1 1.11.2-eksbuild.1 1.11.2-eksbuild.1 1.11.2-eksbuild.1 1.11.2-eksbuild.1

Informationen zum Aktualisieren Ihrer Version des Amazon-EKS-Add-ons finden Sie unter Aktualisieren des Amazon VPC CNI plugin for Kubernetes-Add-ons. Informationen zum Aktualisieren Ihrer Version des selbstverwalteten Add-ons mithilfe von Container-Images in der Amazon Elastic Container Registry von Amazon EKS oder in einem eigenen Repository finden Sie unter Aktualisieren des selbstverwalteten Amazon VPC CNI plugin for Kubernetes-Add-ons.

Wichtig

Bei der Version des Add-Ons, die beim Erstellen des Clusters bereitgestellt wurde, handelt es sich möglicherweise um eine frühere Version als die empfohlene Version. Wenn Sie das selbstverwaltete Add-on mit einem Manifest aktualisiert haben, ist -eksbuild.1 in der Version nicht enthalten.

Voraussetzungen

Hinzufügen des Amazon-VPC-CNI-Amazon-EKS-Add-ons

Sie können das Amazon-VPC-CNI-Amazon-EKS-Add-on zu Ihrem Cluster der Version 1.18 oder höher hinzufügen, indem Sie eksctl, die AWS Management Console oder die AWS CLI verwenden.

Wichtig

Vergewissern Sie sich vor dem Hinzufügen des Amazon-VPC-CNI-Amazon-EKS-Add-ons, dass Sie keine Einstellungen selbst verwalten, die Amazon EKS verwalten wird. Um zu bestimmen, welche Einstellungen Amazon EKS verwaltet, siehe Konfiguration von Amazon-EKS-Add-ons.

eksctl

Die empfohlene Version des Amazon-EKS-Add-ons mit eksctl hinzufügen

Ersetzen Sie my-cluster durch den Namen Ihres Clusters und arn:aws:iam::111122223333:role/AmazonEKSVPCCNIRole durch Ihre vorhandene IAM-Rolle (siehe Voraussetzungen).

eksctl create addon \ --name vpc-cni \ --version v1.11.2-eksbuild.1 \ --cluster my-cluster \ --service-account-role-arn arn:aws:iam::111122223333:role/AmazonEKSVPCCNIRole \ --force

Wenn eine der Amazon-EKS-Add-on-Einstellungen mit den vorhandenen Einstellungen für das selbstverwaltete Add-on in Konflikt steht, schlägt das Hinzufügen des Amazon-EKS-Add-ons fehl und Sie erhalten eine Fehlermeldung, die Sie bei der Lösung des Konflikts unterstützt.

Wenn Sie stattdessen eine andere Version des Add-ons hinzufügen möchten, können Sie mit folgendem Befehl alle Versionen anzeigen, die für das Add-on und Ihre Cluster-Version verfügbar sind. Ersetzen Sie 1.22 durch die Version Ihres Clusters.

eksctl utils describe-addon-versions --name vpc-cni --kubernetes-version 1.22 | grep AddonVersion:

Ersetzen Sie v1.11.2-eksbuild.1 im create addon-Befehl durch die in der Ausgabe zurückgegebene Version, die Sie hinzufügen möchten, und führen Sie den Befehl create addon aus.

AWS Management Console

Die empfohlene Version des Amazon-EKS-Add-ons mit der AWS Management Console hinzufügen

  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 Amazon VPC CNI plugin for Kubernetes-Add-on konfigurieren möchten.

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

  4. Wählen Sie Neu hinzufügen.

    • Wählen Sie vpc-cni für Name aus.

    • Wählen Sie die Version aus, die Sie verwenden möchten. Wir empfehlen die Version 1.11.2-eksbuild.1, aber Sie können bei Bedarf eine andere Version auswählen.

    • Wählen Sie für Servicekontorolle den Namen einer IAM-Rolle aus, an die Sie die IAM-Richtlinie AmazonEKS_CNI_Policy angehängt haben (siehe Voraussetzungen).

    • Wählen Sie Vorhandene Konfiguration für dieses Add-on im Cluster überschreiben aus. Wenn eine der Amazon-EKS-Add-on-Einstellungen mit den vorhandenen Einstellungen für das selbstverwaltete Add-on in Konflikt steht, schlägt das Hinzufügen des Amazon-EKS-Add-ons fehl und Sie erhalten eine Fehlermeldung, die Sie bei der Lösung des Konflikts unterstützt.

    • Wählen Sie Hinzufügen.

AWS CLI

Um die empfohlene Version des Amazon-EKS-Add-ons mithilfe der AWS CLI hinzuzufügen, ersetzen Sie my-cluster durch dem Namen Ihres Clusters und arn:aws:iam::111122223333:role/AmazonEKSCNIRole durch den ARN einer IAM-Rolle, die Sie der IAM-Richtlinie AmazonEKS_CNI_Policy angehängt haben (siehe Voraussetzungen). Führen Sie dann den Befehl aus.

aws eks create-addon \ --cluster-name my-cluster \ --addon-name vpc-cni \ --addon-version v1.11.2-eksbuild.1 \ --service-account-role-arn arn:aws:iam::111122223333:role/AmazonEKSVPCCNIRole \ --resolve-conflicts OVERWRITE

Wenn eine der Amazon-EKS-Add-on-Einstellungen mit den vorhandenen Einstellungen für das selbstverwaltete Add-on in Konflikt steht, schlägt das Hinzufügen des Amazon-EKS-Add-ons fehl und Sie erhalten eine Fehlermeldung, die Sie bei der Lösung des Konflikts unterstützt.

Wenn Sie stattdessen eine andere Version des Add-ons hinzufügen möchten, können Sie mit folgendem Befehl alle Versionen anzeigen, die für das Add-on und Ihre Cluster-Version verfügbar sind. Ersetzen Sie 1.22 durch die Version Ihres Clusters.

aws eks describe-addon-versions \ --addon-name vpc-cni \ --kubernetes-version 1.22 \ --query "addons[].addonVersions[].[addonVersion, compatibilities[].Version]" \ --output text

Ersetzen Sie v1.11.2-eksbuild.1 im create-addon-Befehl durch die in der Ausgabe zurückgegebene Version, die Sie hinzufügen möchten, und führen Sie den Befehl create-addon aus.

Aktualisieren des Amazon VPC CNI plugin for Kubernetes-Add-ons

Wichtig

Vergewissern Sie sich vor der Aktualisierung des Amazon VPC CNI plugin for Kubernetes-Add-ons, dass Sie keine von Amazon EKS verwalteten Einstellungen selbst verwalten. Um zu bestimmen, welche Einstellungen Amazon EKS verwaltet, siehe Konfiguration von Amazon-EKS-Add-ons.

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

Wir empfehlen Ihnen, jeweils eine Nebenversion zu aktualisieren. Wenn Ihre aktuelle Nebenversion beispielsweise 1.9 ist und Sie auf 1.11 aktualisieren möchten, sollten Sie zuerst auf die neueste Patch-Version von 1.10 aktualisieren und dann auf die neueste Patch-Version von 1.11 aktualisieren.

Sie können das Amazon VPC CNI plugin for Kubernetes-Add-on auf Ihrem Cluster der Version 1.18 oder höher aktualisieren, indem Sie eksctl, die AWS Management Console oder die AWS CLI verwenden.

eksctl

Das Amazon-EKS-Add-on mit eksctl auf die empfohlene Version aktualisieren

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

    eksctl get addon --name vpc-cni --cluster my-cluster

    Die Beispielausgabe lautet wie folgt.

    NAME VERSION STATUS ISSUES IAMROLE UPDATE AVAILABLE vpc-cni v1.7.5-eksbuild.2 ACTIVE 0 arn:aws:iam::111122223333:role/AmazonEKSVPCCNIRole v1.11.2-eksbuild.1
  2. Aktualisieren Sie das Add-on auf die empfohlene Version.

    eksctl update addon \ --name vpc-cni \ --version 1.11.2-eksbuild.1 \ --cluster my-cluster \ --force

    Wenn Sie stattdessen auf eine andere Version des Add-ons aktualisieren möchten, können Sie mit folgendem Befehl alle Versionen anzeigen, die für das Add-on und Ihre Cluster-Version verfügbar sind. Ersetzen Sie 1.22 durch die Version Ihres Clusters.

    eksctl utils describe-addon-versions --name vpc-cni --kubernetes-version 1.22 | grep AddonVersion:

    Ersetzen Sie v1.11.2-eksbuild.1 im update addon-Befehl durch die in der Ausgabe zurückgegebene Version, die Sie hinzufügen möchten, und führen Sie den Befehl update addon aus.

AWS Management Console

Das Amazon-EKS-Add-on mit der AWS Management Console auf die empfohlene Version aktualisieren

  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 Amazon VPC CNI plugin for Kubernetes-Add-on aktualisieren möchten.

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

  4. Wählen Sie das Feld oben rechts im Feld vpc-cni aus und wählen Sie dann Bearbeiten.

    • Wählen Sie die Version des Amazon-EKS-Add-ons aus, die Sie verwenden möchten. Wir empfehlen die Version 1.11.2-eksbuild.1, aber Sie können bei Bedarf eine andere Version auswählen.

    • Wählen Sie für Servicekontorolle den Namen einer IAM-Rolle aus, an die Sie die AmazonEKS_CNI_Policy-IAM-Richtlinie angehängt haben (siehe Voraussetzungen), falls noch keine ausgewählt ist.

    • Wählen Sie Vorhandene Konfiguration für dieses Add-on im Cluster überschreiben aus.

    • Wählen Sie Aktualisieren.

AWS CLI

Das Amazon-EKS-Add-on mit der AWS CLI auf die empfohlene Version aktualisieren

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

    aws eks describe-addon \ --cluster-name my-cluster \ --addon-name vpc-cni \ --query "addon.addonVersion" \ --output text

    Die Beispielausgabe lautet wie folgt.

    v1.7.5-eksbuild.2

    Bei Ihnen wird möglicherweise eine andere Version zurückgegeben.

  2. Aktualisieren Sie das Add-on auf die neueste empfohlene Version. Ersetzen Sie my-cluster mit Ihrem Clusternamen.

    aws eks update-addon \ --cluster-name my-cluster \ --addon-name vpc-cni \ --addon-version v1.11.2-eksbuild.1 \ --resolve-conflicts OVERWRITE

    Wenn Sie stattdessen auf eine andere Version des Add-ons aktualisieren möchten, können Sie mit folgendem Befehl alle Versionen anzeigen, die für das Add-on und Ihre Cluster-Version verfügbar sind. Ersetzen Sie 1.22 durch die Version Ihres Clusters.

    aws eks describe-addon-versions \ --addon-name vpc-cni \ --kubernetes-version 1.22 \ --query "addons[].addonVersions[].[addonVersion, compatibilities[].Version]" \ --output text

    Ersetzen Sie v1.11.2-eksbuild.1 im update-addon-Befehl durch die in der Ausgabe zurückgegebene Version, die Sie hinzufügen möchten, und führen Sie den Befehl update-addon aus.

Entfernen des Amazon VPC CNI plugin for Kubernetes-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.

Sie können das Amazon VPC CNI plugin for Kubernetes-Add-on von Ihrem Cluster der Version 1.18 oder höher entfernen, indem Sie eksctl, die AWS Management Console oder die AWS CLI verwenden.

eksctl

So entfernen Sie das 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 vpc-cni --preserve
AWS Management Console

So entfernen Sie das 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 Amazon VPC CNI plugin for Kubernetes-Add-on entfernen möchten.

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

  4. Aktivieren Sie das Kontrollkästchen oben rechts im Feld vpc-cni und wählen Sie dann Entfernen. Wählen Sie Auf Cluster beibehalten aus, wenn Sie möchten, dass Amazon EKS die Verwaltung der Einstellungen für das Add-on beendet, die Add-on-Software jedoch auf Ihrem Cluster beibehalten möchte, damit Sie alle Einstellungen des Add-ons selbst verwalten können. Geben Sie vpc-cni ein und wählen Sie dann Entfernen aus.

AWS CLI

So entfernen Sie das 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 vpc-cni --preserve

Aktualisieren des selbstverwalteten Amazon VPC CNI plugin for Kubernetes-Add-ons

Wenn Sie einen Cluster haben, dem Sie das Amazon VPC CNI plugin for Kubernetes-Add-on nicht hinzugefügt haben, oder für den Sie das Add-on selbst verwalten müssen, führen Sie die folgenden Schritte aus, um das Add-on zu aktualisieren. Wenn Sie das Amazon VPC CNI plugin for Kubernetes-Amazon-EKS-Add-on hinzugefügt haben, führen Sie stattdessen das Verfahren in Aktualisieren des Amazon VPC CNI plugin for Kubernetes-Add-ons aus.

Wichtig
  • Versionen sind angegeben als major-version.minor-version.patch-version

  • Sie sollten jeweils nur eine Nebenversion aktualisieren. Wenn Ihre aktuelle Nebenversion beispielsweise 1.9 ist und Sie auf 1.11 aktualisieren möchten, sollten Sie zuerst auf 1.10 aktualisieren und dann auf 1.11 aktualisieren.

  • Alle Versionen sind mit allen von Amazon EKS unterstützten Kubernetes-Versionen kompatibel. Jedoch funktionieren nicht alle Funktionen jeder Version mit allen Kubernetes-Versionen. Wenn Sie verschiedene Amazon-EKS-Funktionen verwenden und eine bestimmte Version des Add-ons erforderlich ist, ist dies in der Funktionsdokumentationen vermerkt.

  • Wie empfehlen eine Aktualisierung auf die Version 1.11.2. Bei Bedarf können Sie jedoch auch eine Aktualisierung auf die Version Ihrer Wahl vornehmen.

Das selbstverwaltete Add-on aktualisieren

  1. Rufen Sie releases auf GitHub auf, um alle verfügbare Versionen anzuzeigen und sich mit den Änderungen in der Version vertraut zu machen, auf die Sie eine Aktualisierung durchführen möchten.

  2. Verwenden Sie folgenden Befehl, um herauszufinden, welche Version des Amazon VPC CNI plugin for Kubernetes-Add-ons ihr Cluster hat.

    kubectl describe daemonset aws-node --namespace kube-system | grep Image | cut -d "/" -f 2

    Die Beispielausgabe lautet wie folgt.

    amazon-k8s-cni-init:v1.7.5-eksbuild.1 amazon-k8s-cni:v1.7.5-eksbuild.1

    Ihre Ausgabe unterscheidet sich möglicherweise von der Beispielausgabe. In dieser Beispielausgabe ist die Amazon VPC CNI plugin for Kubernetes-Add-on-Version 1.7.5-eksbuild.1. Die aktuelle empfohlene Version ist 1.11.2. Die Version, die Amazon EKS ursprünglich mit Ihrem Cluster bereitgestellt hat, ähnelt der Version aus der vorherigen Ausgabe. Wenn Sie das Add-on jedoch bereits mindestens einmal mit einem Manifest aktualisiert haben, ist -eksbuild.1 möglicherweise nicht in Ihrer Ausgabe enthalten.

  3. Aktualisieren Sie das DaemonSet mit Helm V3 oder höher oder indem Sie ein Manifest verwenden.

    Helm
    1. Fügen Sie das eks-charts-Repository Helm hinzu.

      helm repo add eks https://aws.github.io/eks-charts
    2. Aktualisieren Sie Ihr lokales Repository, um sicherzustellen, dass Sie über die neuesten Diagramme verfügen.

      helm repo update
    3. Speichern Sie Ihre aktuellen Einstellungen, um festzustellen, für welche Einstellungen Sie in einem späteren Schritt Werte angeben müssen.

      kubectl get daemonset aws-node -n kube-system -o yaml > aws-k8s-cni-old.yaml
    4. Wenn Sie das vorhandene Amazon VPC CNI plugin for Kubernetes-DaemonSet mit Helm installiert haben, können Sie mit dem nächsten Schritt fortfahren.

      Führen Sie eine der folgenden Optionen aus, damit Helm die DaemonSet-Ressourcen verwalten kann.

      • Fügen Sie die Helm-Anmerkungen und -Labels zu Ihren vorhandenen Ressourcen hinzu.

        1. Speichern Sie den folgenden Inhalt in einer Datei mit dem Namen helm-cni.sh. Ersetzen Sie aws-vpc-cni, wenn Sie einen anderen Versionsnamen verwenden möchten.

          #!/usr/bin/env bash set -euo pipefail for kind in daemonSet clusterRole clusterRoleBinding serviceAccount; do echo "setting annotations and labels on $kind/aws-node" kubectl -n kube-system annotate --overwrite $kind aws-node meta.helm.sh/release-name=aws-vpc-cni kubectl -n kube-system annotate --overwrite $kind aws-node meta.helm.sh/release-namespace=kube-system kubectl -n kube-system label --overwrite $kind aws-node app.kubernetes.io/managed-by=Helm done
        2. Machen Sie das Skript ausführbar.

          chmod +x helm-cni.sh
        3. Führen Sie das Skript aus.

          ./helm-cni.sh
      • Entfernen Sie die vorhandenen DaemonSet-Ressourcen.

        Wichtig

        Zwischen dem Abschluss dieses Schritts und dem nächsten Schritt kommt es zu Ausfallzeiten in Ihrem Cluster.

        kubectl delete serviceaccount aws-node -n kube-system kubectl delete customresourcedefinition eniconfigs.crd.k8s.amazonaws.com kubectl delete clusterrole aws-node kubectl delete clusterrolebinding aws-node kubectl delete daemonset aws-node -n kube-system
    5. Installieren Sie das Diagramm mithilfe einer der folgenden Verfahren. Prüfen Sie vor der Installation die gespeicherten Einstellungen für DaemonSet aus dem vorherigen Schritt. Prüfen Sie dann, ob Sie in den Konfigurationseinstellungen Änderungen vornehmen müssen.

      Wenn Sie eine vorhandene IAM-Rolle mit dem DaemonSet verwenden, fügen Sie die folgende Zeile am Ende der folgenden Installationsoptionen hinzu. Wenn dem aws-node-Kubernetes-Servicekonto keine IAM-Rolle zugeordnet ist, sollten Sie eine erstellen. Ersetzen Sie 111122223333 durch Ihre Konto-ID und AmazonEKSVPCCNIRole durch den Namen Ihrer Rolle. Informationen zum Erstellen einer Rolle finden Sie unter Konfigurieren des Amazon VPC CNI plugin for Kubernetes zur Verwendung von IAM-Rollen für Servicekonten.

      --set serviceAccount.annotations."eks\.amazonaws\.com/role-arn"=arn:aws:iam::111122223333:role/AmazonEKSVPCCNIRole

      Wenn Sie im vorherigen Schritt die Helm-Anmerkungen und -Labels hinzugefügt haben, fügen Sie einer der folgenden Optionen die folgenden Einstellungen hinzu.

      --set originalMatchLabels=true --set crd.create=false
      • Wenn Ihre Knoten Zugriff auf die Amazon-EKS-Amazon-ECR-Repositorys haben und sich in der AWS-Region us-west-2 befinden, installieren Sie das Diagramm mit dem Versionsnamen aws-vpc-cni und der Standardkonfiguration.

        helm upgrade -i aws-vpc-cni eks/aws-vpc-cni \ --namespace kube-system \ --set image.tag=v1.11.2 \ --set init.image.tag=v1.11.2
      • Wenn Ihre Knoten Zugriff auf die Amazon-EKS-Amazon-ECR-Repositorys haben und sich in einer anderen AWS-Region als us-west-2 befinden, installieren Sie das Diagramm mit dem Versionsnamen aws-vpc-cni. Ersetzen Sie eks-ecr-account durch den Wert aus den Registrierungen für Amazon-Container-Images für die AWS-Region, in der sich Ihr Cluster befindet. Ersetzen Sie region-code durch die AWS-Region, in der sich Ihr Cluster befindet.

        helm upgrade -i aws-vpc-cni eks/aws-vpc-cni \ --namespace kube-system \ --set image.account=eks-ecr-account \ --set image.region=region-code \ --set image.tag=v1.11.2 \ --set init.image.account=eks-ecr-account --set init.image.region=region-code \ --set init.image.tag=v1.11.2
      • Falls Ihre Knoten keinen Zugriff auf die Amazon-EKS-Amazon-ECR-Repositorys haben

        1. Rufen Sie die folgenden Container-Images ab und verschieben Sie sie in ein Repository, auf das die Knoten Zugriff haben. Weitere Informationen zum Abrufen, Markieren und Verschieben von Images in ein eigenes Repository finden Sie unter Kopieren eines Container-Images von einem Repository in ein anderes. Wir empfehlen, die Version in den folgenden Befehlen zu verwenden. Sie können sie aber bei Bedarf durch die Version Ihrer Wahl ersetzen. Ersetzen Sie 602401143452 und region-code durch die Werte aus den Registrierungen für Amazon-Container-Images für die AWS-Region, in der sich Ihr Cluster befindet.

          602401143452.dkr.ecr.region-code.amazonaws.com/amazon-k8s-cni-init:v1.11.2 602401143452.dkr.ecr.region-code.amazonaws.com/amazon-k8s-cni:v1.11.2
        2. Installieren Sie das Diagramm mit dem Versionsnamen aws-vpc-cni und der Standardkonfiguration. Prüfen Sie vor der Installation die gespeicherten Einstellungen für DaemonSet aus dem vorherigen Schritt. Prüfen Sie dann, ob Sie in den Konfigurationseinstellungen Änderungen vornehmen müssen. Ersetzen Sie registry/repo:tag durch Ihr Registry, Repository und Tag.

          helm upgrade -i aws-vpc-cni eks/aws-vpc-cni \ --namespace kube-system \ --set image.override=registry/repo:tag \ --set init.image.override=registry/repo:tag
    Manifest
    1. Fahren Sie mit dem nächsten Schritt fort, wenn Sie Standardeinstellungen für Ihr aktuelles Amazon VPC CNI plugin for Kubernetes-DaemonSet geändert haben, wenn Sie Container-Images aus Ihrem eigenen Repository abrufen müssen, um das DaemonSet zu aktualisieren, wenn Ihr Cluster sich in einer anderen Region als us-west-2 befindet oder wenn Sie ein Update auf eine spezifische Patch-Version für Version 1.7 oder früher durchführen müssen.

      Führen Sie den folgenden Befehl aus, um das Amazon VPC CNI plugin for Kubernetes-Add-on zu aktualisieren. Sie können 1.11.2 zu 1.7.0 oder höher ändern. Unabhängig von der Patch-Version, die Sie für 1.7 angeben, wie etwa 1.7.5, wird die aktuellste Patch-Version des Images (1.7.10) abgerufen.

      kubectl apply -f https://raw.githubusercontent.com/aws/amazon-vpc-cni-k8s/v1.11.2/config/master/aws-k8s-cni.yaml

      Wenn Sie ein Update auf eine frühere Version als 1.7.0 vornehmen müssen, rufen Sie das Manifest mit der folgenden URL ab. Sie können 1.6 bei Bedarf zu einer früheren Version ändern. Das Manifest ruft die aktuellste Patch-Version des Images für die von Ihnen angegebene Version ab.

      kubectl apply -f https://raw.githubusercontent.com/aws/amazon-vpc-cni-k8s/release-1.6/config/v1.6/aws-k8s-cni.yaml

      Fahren Sie mit dem Schritt fort, in dem Sie den Status des DaemonSet anzeigen.

    2. Wenn Ihre Knoten Zugriff auf die Amazon-ECR-Image-Repositorys von Amazon EKS haben, fahren Sie mit dem nächsten Schritt fort.

      Rufen Sie die folgenden Container-Images ab und verschieben Sie sie in ein Repository, auf das die Knoten Zugriff haben. Weitere Informationen zum Abrufen, Markieren und Verschieben von Images in ein eigenes Repository finden Sie unter Kopieren eines Container-Images von einem Repository in ein anderes. Wir empfehlen, die Version in den folgenden Befehlen zu verwenden. Sie können sie aber bei Bedarf durch die Version Ihrer Wahl ersetzen. Ersetzen Sie 602401143452 und region-code durch die Werte aus den Registrierungen für Amazon-Container-Images für die AWS-Region, in der sich Ihr Cluster befindet.

      602401143452.dkr.ecr.region-code.amazonaws.com/amazon-k8s-cni-init:v1.11.2 602401143452.dkr.ecr.region-code.amazonaws.com/amazon-k8s-cni:v1.11.2
    3. Wenn Sie keine der Standardeinstellungen für das DaemonSet geändert haben, fahren Sie mit dem nächsten Schritt fort.

      Speichern Sie Ihre aktuellen Einstellungen, um Ihre Einstellungen mit den Standardeinstellungen im neuen Manifest vergleichen können.

      kubectl get daemonset aws-node -n kube-system -o yaml > aws-k8s-cni-old.yaml
    4. Laden Sie das Manifest für das Amazon VPC CNI plugin for Kubernetes-Add-on herunter. Sie können 1.11.2 zu 1.7.0 oder höher ändern. Unabhängig von der Patch-Version, die Sie für 1.7 angeben, wie etwa 1.7.5, wird die aktuellste Patch-Version des Images (1.7.10) abgerufen.

      kubectl apply -f https://raw.githubusercontent.com/aws/amazon-vpc-cni-k8s/v1.11.2/config/master/aws-k8s-cni.yaml

      Wenn Sie ein Update auf eine frühere Version als 1.7.0 vornehmen müssen, rufen Sie das Manifest mit der folgenden URL ab. Sie können 1.6 bei Bedarf zu einer früheren Version ändern. Das Manifest ruft die aktuellste Patch-Version des Images für die von Ihnen angegebene Version ab.

      kubectl apply -f https://raw.githubusercontent.com/aws/amazon-vpc-cni-k8s/release-1.6/config/v1.6/aws-k8s-cni.yaml

      Wenn Sie eine spezifische Patch-Version von 1.7 oder früher benötigen, öffnen Sie die Datei in einem Texteditor und ändern Sie v1.11.2 in den folgenden zwei Zeilen zur gewünschten spezifischen Patch-Version. Abhängig davon, welche Version der Datei Sie heruntergeladen haben, kann v1.11.2 eine andere Versionsnummer haben oder latest sein. Nachdem Sie die Änderungen vorgenommen haben, speichern Sie die Datei.

      image: "602401143452.dkr.ecr.us-west-2.amazonaws.com/amazon-k8s-cni-init:v1.11.2" image: "602401143452.dkr.ecr.us-west-2.amazonaws.com/amazon-k8s-cni:v1.11.2"
    5. Wenn Sie die Container-Images in einem vorherigen Schritt nicht in ein eigenes Repository kopiert haben, fahren Sie mit dem nächsten Schritt fort.

      Ersetzen Sie die Registries, Repositorys und Tags in der Datei durch ihre eigenen.

      1. Ersetzen Sie your-registry im folgenden Befehl durch Ihr Registry und führen Sie dann den geänderten Befehl aus, um 602401143452.dkr.ecr.us-west-2.amazonaws.com in der Datei zu ersetzen.

        sed -i.bak -e 's|602401143452.dkr.ecr.us-west-2.amazonaws.com|your-registry|' aws-k8s-cni.yaml
      2. Ersetzen Sie your-repository und tag im folgenden Befehl durch Ihr Repository und Tag und führen Sie dann den geänderten Befehl aus, um amazon-k8s-cni-init:v1.11.2 in der Datei zu ersetzen. Ersetzen Sie 1.11.2 durch die Version des Manifests, das Sie heruntergeladen haben.

        sed -i.bak -e 's|amazon-k8s-cni-init:v1.11.2|your-repository:tag|' aws-k8s-cni.yaml
      3. Ersetzen Sie your-repository und tag im folgenden Befehl durch Ihr Repository und Tag und führen Sie dann den geänderten Befehl aus, um amazon-k8s-cni:v1.11.2 in der Datei zu ersetzen. Ersetzen Sie 1.11.2 durch die Version des Manifests, das Sie heruntergeladen haben.

        sed -i.bak -e 's|amazon-k8s-cni:v1.11.2|your-repository:tag|' aws-k8s-cni.yaml
      4. Fahren Sie mit Schritt zum Vergleichen der Einstellungen fort.

    6. Führen Sie den folgenden Befehl aus, um Informationen in der Datei durch Informationen für die AWS-Region zu ersetzen, in der sich Ihr Cluster befindet.

      1. Ersetzen Sie us-west-2 in der Datei durch die AWS-Region, in der sich Ihr Cluster befindet.

        AWS GovCloud (USA-Ost)

        sed -i.bak -e 's|us-west-2|us-gov-east-1|' aws-k8s-cni.yaml

        AWS GovCloud (USA-West)

        sed -i.bak -e 's|us-west-2|us-gov-west-1|' aws-k8s-cni.yaml

        Alle anderen AWS-Regionen – Ersetzen Sie region-code durch die AWS-Region, in der sich Ihr Cluster befindet.

        sed -i.bak -e 's|us-west-2|region-code|' aws-k8s-cni.yaml
      2. Ersetzen Sie 602401143452 in der Datei durch das Konto für die AWS-Region, in der sich Ihr Cluster befindet.

        AWS GovCloud (USA-Ost)

        sed -i.bak -e 's|602401143452|151742754352|' aws-k8s-cni.yaml

        AWS GovCloud (USA-West)

        sed -i.bak -e 's|602401143452|013241004608|' aws-k8s-cni.yaml

        Alle anderen AWS-Regionen – Ersetzen Sie account durch den Wert aus den Registrierungen für Amazon-Container-Images für die AWS-Region, in der sich Ihr Cluster befindet.

        sed -i.bak -e 's|602401143452|account|' aws-k8s-cni.yaml
    7. Wenn Sie Standardeinstellungen für Ihr aktuelles Amazon VPC CNI plugin for Kubernetes-DaemonSet geändert haben, vergleichen Sie die Einstellungen im neuen Manifest mit der Sicherungsdatei, die Sie im vorherigen Schritt angelegt haben.

      diff aws-k8s-cni.yaml aws-k8s-cni-old.yaml -u

      Bearbeiten Sie die neue Manifestdatei und nehmen Sie Änderungen an allen Einstellungswerten vor, damit sie den Einstellungen in Ihrer Sicherungsdatei entsprechen.

    8. Wenden Sie die Manifestdatei auf Ihren Cluster an.

      kubectl apply -f aws-k8s-cni.yaml
  4. Zeigen Sie den Status des DaemonSet an.

    kubectl get daemonset aws-node -n kube-system

    Die Beispielausgabe lautet wie folgt.

    NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE aws-node 2 2 2 2 2 <none> 4h39m

    Sobald die Zahlen in den Spalten READY, UP-TO-DATE und AVAILABLE übereinstimmen, ist das Update abschlossen. Ihre Zahlen können sich von denen in der vorherigen Ausgabe unterscheiden.

  5. Zeigen Sie das DaemonSet an, um die von Ihnen vorgenommen Änderungen zu bestätigen.

    kubectl get daemonset aws-node -n kube-system -o yaml