Verwalten des Amazon VPC CNI-Add-ons - Amazon EKS

Verwalten des Amazon VPC CNI-Add-ons

Amazon EKS unterstützt natives VPC-Netzwerk mit dem Amazon VPC Container-Network-Interface-Plugin (CNI) für Kubernetes. Unter Verwendung dieses Plug-ins können Kubernetes-Pods innerhalb des Pods dieselbe IP-Adresse haben, die sie auch auf dem VPC-Netzwerk haben. Weitere Informationen finden Sie unter Pod-Netzwerk (CNI).

Wenn Sie einen Cluster der Version 1.18 oder höher haben, dem Sie das Amazon VPC CNI Amazon-EKS-Add-on nicht hinzugefügt haben, können Sie ihn mit dem Verfahren in Hinzufügen des Amazon-VPC-CNI-Amazon-EKS-Add-ons hinzufügen. Wenn Sie über einen Cluster verfügen, dem Sie bereits das Amazon VPC CNI Amazon-EKS-Add-on hinzugefügt haben, können Sie ihn mit den Verfahren in den Abschnitten Aktualisieren des Amazon-VPC-CNI-Amazon-EKS-Add-ons und Entfernen des Amazon-VPC-CNI-Amazon-EKS-Add-ons verwalten. Weitere Informationen zu Amazon EKS-Add-Ons finden Sie unter Amazon EKS-Erweiterungen.

Wenn Sie das Amazon-VPC-CNI-Amazon-EKS-Add-On nicht hinzugefügt haben, wird das selbstverwaltete Amazon-VPC-CNI-Add-On standardmäßig auf Ihrem Cluster ausgeführt. Sie können das Add-On mit dem Verfahren in Aktualisieren des selbstverwalteten Amazon-VPC-CNI-Add-ons aktualisieren.

Version 1.7.5-eksbuild.1 wird für das selbstverwaltete Add-on für alle Kubernetes-Versionen bereitgestellt. Version 1.7.5-eksbuild.2 wird für das Amazon-EKS-Add-on für Kubernetes Version 1.18 und höher bereitgestellt.

Prerequisites

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

Wählen Sie die Registerkarte mit dem Namen des Tools aus, mit dem Sie das Amazon-VPC-CNI-Amazon-EKS-Add-on zu Ihrem 1.18- oder höheren Cluster hinzufügen möchten.

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 Amazon EKS-Add-Ons.

eksctl

Hinzufügen der neuesten Neben-, Patch- und Build-Version des Amazon EKS-Add-Ons mit eksctl

Ersetzen Sie <my-cluster> (einschließlich <>) durch den Namen Ihres Clusters und arn:aws:iam::<111122223333>:role/<eksctl-my-cluster-addon-iamserviceaccount-kube-sys-Role1-UK9MQSLXK0MW> durch Ihre vorhandene IAM-Rolle (siehe Voraussetzungen).

eksctl create addon \ --name vpc-cni \ --version latest \ --cluster <my-cluster> \ --service-account-role-arn arn:aws:iam::<111122223333>:role/<eksctl-my-cluster-addon-iamserviceaccount-kube-sys-Role1-UK9MQSLXK0MW> \ --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.

AWS Management Console

Hinzufügen der neuesten Neben-, Patch- und Build-Version des Amazon EKS-Add-Ons mit AWS Management Console

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

  2. Wählen Sie in der linken Navigation Cluster aus, und wählen Sie dann den Namen des Clusters aus, für den Sie das Amazon-VPC-CNI-Amazon-EKS-Add-on konfigurieren möchten.

  3. Wählen Sie die Registerkarte Konfiguration und dann 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 als Neueste markierte Version.

    • 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

Hinzufügen der neuesten Neben-, Patch- und Build-Version des Amazon EKS-Add-Ons mit AWS CLI

  1. Bestimmen Sie, welche Versionen des Amazon VPC CNI Amazon-EKS-Add-ons für die Version Ihres Clusters verfügbar sind. Ersetzen Sie im folgenden Befehl <my-cluster> (einschließlich <>) durch den Namen Ihres Clusters.

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

    Ausgabe

    v1.9.0-eksbuild.1 False ... v1.7.5-eksbuild.2 True ...

    Die Version mit True darunter ist die Standardversion, die mit neuen Clustern bereitgestellt wird. In der vorherigen Ausgabe ist v1.9.0-eksbuild.1 die neueste verfügbare Version.

  2. Ersetzen Sie im folgenden Befehl <my-cluster> (einschließlich <>) durch den Namen Ihres Clusters, <v1.9.0-eksbuild.1> durch die neueste verfügbare Version, arn:aws:iam::<AWS_ACCOUNT_ID>:role/<AmazonEKSCNIRole> durch den ARN einer IAM-Rolle, die Sie angehängt haben AmazonEKS_CNI_Policy IAM-Richtlinie zu (siehe Voraussetzungen) und führen Sie dann den Befehl aus.

    aws eks create-addon \ --cluster-name <my-cluster> \ --addon-name vpc-cni \ --addon-version <v1.9.0-eksbuild.1> \ --service-account-role-arn arn:aws:iam::<AWS_ACCOUNT_ID>:role/<AmazonEKSCNIRole> \ --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.

Aktualisieren des Amazon-VPC-CNI-Amazon-EKS-Add-ons

Wichtig

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

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

Wir empfehlen, dass Sie für die neueste Nebenversion auf die neueste Build- und Patch-Version aktualisieren, jedoch nur jeweils eine Nebenversion aktualisieren. Wenn Ihre aktuelle Nebenversion beispielsweise 1.7 ist und Sie auf 1.9 aktualisieren möchten, sollten Sie zuerst auf den neuesten Patch und die Build-Version von 1.8 aktualisieren und dann auf den neuesten Patch und die Build-Version von 1.9 aktualisieren.

Wählen Sie die Registerkarte mit dem Namen des Tools aus, mit dem Sie das Amazon VPC CNI Amazon-EKS-Add-On auf Ihrem 1.18-Cluster oder höher aktualisieren möchten.

eksctl

Aktualisieren der neuesten Neben-, Patch- und Build-Version des Amazon EKS-Add-Ons mit eksctl

  1. Überprüfen Sie die aktuelle Version Ihres vpc-cni-Amazon-EKS-Add-ons. Ersetzen Sie <my-cluster> (einschließlich <>) durch Ihren Clusternamen.

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

    Ausgabe

    NAME VERSION STATUS ISSUES IAMROLE UPDATE AVAILABLE vpc-cni v1.8.0-eksbuild.1 ACTIVE 0 arn:aws:iam::<111122223333>:role/<eksctl-my-cluster-addon-iamserviceaccount-kube-sys-Role1-UK9MQSLXK0MW> v1.9.0-eksbuild.1
  2. Aktualisieren Sie das Add-on auf die neueste Neben-, Patch- und Build-Version.

    eksctl update addon \ --name vpc-cni \ --version latest \ --cluster <my-cluster> \ --force
AWS Management Console

Aktualisieren der neuesten Neben-, Patch- und Build-Version des Amazon EKS-Add-Ons mit AWS Management Console

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

  2. Wählen Sie in der linken Navigation Cluster aus, und wählen Sie dann den Namen des Clusters aus, für den Sie das Amazon VPC CNI-Add-on aktualisieren möchten.

  3. Wählen Sie die Registerkarte Konfiguration und dann 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 als Neueste markierte Version.

    • 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

Aktualisieren der neuesten Neben-, Patch- und Build-Version des Amazon EKS-Add-Ons mit AWS CLI

  1. Überprüfen Sie die aktuelle Version Ihres Amazon-VPC-CNI-Amazon-EKS-Add-ons. Ersetzen Sie <my-cluster> durch Ihren Cluster-Namen.

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

    Ausgabe:

    v1.8.0-eksbuild.1
  2. Bestimmen Sie, welche Versionen des Amazon VPC CNI Amazon-EKS-Add-ons für die Version Ihres Clusters verfügbar sind. Ersetzen Sie <1.21> durch die Version Ihres Clusters.

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

    Ausgabe

    v1.9.0-eksbuild.1 False ... v1.7.5-eksbuild.2 True ...

    Die Version mit True darunter ist die Standardversion, die mit neuen Clustern bereitgestellt wird. In der vorherigen Ausgabe ist v1.9.0-eksbuild.1 die neueste verfügbare Version.

  3. Aktualisieren Sie das Add-on auf die neueste Build-Version der neuesten Patch-Version der neuesten Nebenversion, die in der vorherigen Ausgabe zurückgegeben wurde. Ersetzen Sie <my-cluster> (einschließlich <>) durch Ihren Clusternamen und <v1.9.0-eksbuild.1> durch die Version des Add-ons, auf das Sie aktualisieren möchten.

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

Entfernen des Amazon-VPC-CNI-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 Amazon-VPC-CNI-Amazon-EKS-Add-on aus Ihrem 1.18- oder höheren Cluster entfernen möchten.

eksctl

So entfernen Sie das Amazon EKS-Add-On mit eksctl

Ersetzen Sie my-cluster (einschließlich <>) 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 in der linken Navigation Cluster aus, und wählen Sie dann den Namen des Clusters aus, für den Sie das Amazon-VPC-CNI-Amazon-EKS-Add-on entfernen möchten.

  3. Wählen Sie die Registerkarte Konfiguration und dann 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-Add-ons

Wenn Sie einen Cluster der Version 1.17 oder früher oder einen Cluster der Version 1.18 oder höher haben, dem Sie das Amazon-VPC-CNI-Amazon-EKS-Add-On nicht hinzugefügt haben, führen Sie die folgenden Schritte aus, um das Add-on zu aktualisieren. Wenn Sie das Amazon-VPC-CNI-Amazon-EKS-Add-on hinzugefügt haben, führen Sie stattdessen das Verfahren in Aktualisieren des Amazon-VPC-CNI-Amazon-EKS-Add-ons aus.

So aktualisieren Sie das selbstverwaltete Add-on mit kubectl auf die neueste Neben- und Patch-Version

  1. Ermitteln Sie die neueste verfügbare Nebenversion, indem Sie das Changelog auf GitHub anzeigen.

  2. Verwenden Sie den folgenden Befehl, um die Amazon-VPC-CNI-Add-On-Version Ihres Clusters zu ermitteln:

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

    Ausgabe:

    amazon-k8s-cni:v1.8.0

    In dieser Beispielausgabe ist die Amazon-VPC-CNI-Add-On-Version 1.8.0, die älter ist als die neueste Version, die in Changelog auf GitHub aufgeführt ist.

  3. Verwenden Sie den entsprechenden Befehl unten, um Ihr Amazon-VPC-CNI-Add-on auf die neueste verfügbare Neben- und Patch-Version zu aktualisieren. Ersetzen Sie 1.9 durch die neueste Nebenversion von Changelog auf GitHub. Das Manifest installiert die neueste Patch-Version (z. B. .0) für die von Ihnen angegebene Nebenversion.

    Wichtig

    Alle Änderungen, die Sie an den Standardeinstellungen des Add-ons in Ihrem Cluster vorgenommen haben, können beim Anwenden der neuen Version des Manifests mit den Standardeinstellungen überschrieben werden. Um den Verlust Ihrer benutzerdefinierten Einstellungen zu verhindern, laden Sie das Manifest herunter, ändern Sie die Standardeinstellungen nach Bedarf und wenden Sie dann das geänderte Manifest auf Ihren Cluster an. Sie sollten jeweils nur eine Nebenversion aktualisieren. Wenn Ihre aktuelle Nebenversion beispielsweise 1.7 ist und Sie auf 1.9 aktualisieren möchten, sollten Sie zuerst auf 1.8 aktualisieren und dann auf 1.9 aktualisieren.

    • China (Peking) (cn-north-1) oder China (Ningxia) (cn-northwest-1)

      kubectl apply -f https://raw.githubusercontent.com/aws/amazon-vpc-cni-k8s/release-1.9/config/v1.9/aws-k8s-cni-cn.yaml
    • AWS GovCloud (USA-Ost) (us-gov-east-1)

      kubectl apply -f https://raw.githubusercontent.com/aws/amazon-vpc-cni-k8s/release-1.9/config/v1.9/aws-k8s-cni-us-gov-east-1.yaml
    • AWS GovCloud (USA-West) (us-gov-west-1)

      kubectl apply -f https://raw.githubusercontent.com/aws/amazon-vpc-cni-k8s/release-1.9/config/v1.9/aws-k8s-cni-us-gov-west-1.yaml
    • Für alle anderen Regionen

      • Laden Sie die Manifestdatei herunter.

        curl -o aws-k8s-cni.yaml https://raw.githubusercontent.com/aws/amazon-vpc-cni-k8s/release-1.9/config/v1.9/aws-k8s-cni.yaml
      • Ersetzen Sie falls nötig <region-code> im folgenden Befehl durch die Region, in der sich Ihr Cluster befindet, und führen Sie dann den geänderten Befehl aus, um den Regionscode in der Datei zu ersetzen (derzeit us-west-2).

        sed -i.bak -e 's/us-west-2/<region-code>/' aws-k8s-cni.yaml
      • Ersetzen Sie bei Bedarf <account> im folgenden Befehl durch das Konto von Amazon EKS-Add-On-Container-Image-Adressen für die Region, in der sich Ihr Cluster befindet, und führen Sie dann den geänderten Befehl aus, um das Konto in der Datei (derzeit 602401143452) zu ersetzen.

        sed -i.bak -e 's/602401143452/<account>/' aws-k8s-cni.yaml
      • Wenden Sie die Manifestdatei auf Ihren Cluster an.

        kubectl apply -f aws-k8s-cni.yaml