Aktualisieren der Amazon VPC CNI (Amazon-EKS-Add-On) - Amazon EKS

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.

Aktualisieren der Amazon VPC CNI (Amazon-EKS-Add-On)

Aktualisieren Sie den Amazon-EKS-Typ des Amazon-VPC-CNI-Plugins für das Kubernetes-Add-On. Wenn Sie den Amazon-EKS-Typ des Add-Ons nicht zu Ihrem Cluster hinzugefügt haben, können Sie ihn installieren, indem Sie Amazon-VPC-CNI (Amazon-EKS-Add-On) erstellen befolgen. Alternativ können Sie die andere Art der VPC-CNI-Installation aktualisieren, indem Sie Aktualisierung der Amazon VPC CNI (selbstverwaltetes Add-On) befolgen.

  1. Sehen Sie, welche Version des Container-Images derzeit auf Ihrem Cluster installiert ist. Ersetzen Sie den cluster-name durch Ihren Cluster-Namen.

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

    Eine Beispielausgabe sieht wie folgt aus.

    v1.20.0-eksbuild.1

    Vergleichen Sie die Version mit der Tabelle der neuesten Versionen unter Amazon-VPC-CNI-Versionen. Wenn die zurückgegebene Version mit der Version für die Kubernetes-Version Ihres Clusters in der aktuellen Versionstabelle übereinstimmt, haben Sie die neueste Version bereits auf Ihrem Cluster installiert und müssen den Rest dieses Verfahrens nicht abschließen. Wenn Sie eine Fehlermeldung statt einer Versionsnummer in Ihrer Ausgabe erhalten, haben Sie den Add-On vom Typ Amazon EKS nicht auf Ihrem Cluster installiert. Sie müssen das Add-on erstellen, bevor Sie es mit diesem Verfahren aktualisieren können. Um den Amazon-EKS-Typ des VPC-CNI-Add-Ons zu erstellen, befolgen Sie Amazon-VPC-CNI (Amazon-EKS-Add-On) erstellen.

  2. Speichern Sie die Konfiguration Ihres aktuell installierten Add-ons ab.

    kubectl get daemonset aws-node -n kube-system -o yaml > aws-k8s-cni-old.yaml
  3. Aktualisieren Sie Ihr Add-On mithilfe der AWS-CLI. Informationen dazu, wie Sie mit AWS-Managementkonsole oder eksctl das Add-on aktualisieren, finden Sie unter Aktualisierung eines Amazon-EKS-Add-Ons. Kopieren Sie den folgenden Befehl auf Ihr Gerät. Nehmen Sie bei Bedarf die folgenden Änderungen am Befehl vor, und führen Sie dann den geänderten Befehl aus.

    • Ersetzen Sie my-cluster durch den Namen Ihres Clusters.

    • Ersetzen Sie v1.20.0-eksbuild.1 durch die aktuelle Version, die in der aktuellen Versionstabelle für Ihre Cluster-Version aufgeführt ist.

    • Ersetzen Sie 111122223333 durch Ihre Konto-ID und AmazonEKSVPCCNIRole durch den Namen einer vorhandenen IAM-Rolle, die Sie erstellt haben. Informationen zum Erstellen einer IAM-Rolle für das VPC CNI finden Sie unter Schritt 1: Amazon-VPC-CNI-Plugin für die Kubernetes-IAM-Rolle erstellen. Zur Angabe einer Rolle ist es erforderlich, dass Sie über einen IAM OpenID Connect (OIDC)-Anbieter für Ihren Cluster verfügen. Um festzustellen, ob Sie über einen solchen für Ihren Cluster verfügen, oder um einen zu erstellen, lesen Sie Erstellen Sie einen IAM-OIDC-Anbieter für Ihren Cluster.

    • Die --resolve-conflicts PRESERVE-Option behält die vorhandenen Konfigurationswerte für das Add-On bei. Wenn Sie benutzerdefinierte Werte für Zusatzeinstellungen festgelegt haben und diese Option nicht verwenden, überschreibt Amazon EKS Ihre Werte mit seinen Standardwerten. Wenn Sie diese Option verwenden, empfehlen wir, dass Sie alle Feld- und Wertänderungen auf einem Nicht-Produktionscluster testen, bevor Sie das Add-on auf Ihrem Produktionscluster aktualisieren. Wenn Sie diesen Wert auf OVERWRITE ändern, werden alle Einstellungen auf die Amazon-EKS-Standardwerte geändert. Wenn Sie benutzerdefinierte Werte für Einstellungen festgelegt haben, werden diese möglicherweise mit den Amazon-EKS-Standardwerten überschrieben. Wenn Sie diesen Wert auf none ändern, ändert Amazon EKS den Wert der Einstellungen nicht, aber die Aktualisierung schlägt möglicherweise fehl. Wenn das Update fehlschlägt, erhalten Sie eine Fehlermeldung, die Sie bei der Behebung des Konflikts unterstützt.

    • Wenn Sie eine Konfigurationseinstellung nicht aktualisieren, entfernen Sie --configuration-values '{"env":{"AWS_VPC_K8S_CNI_EXTERNALSNAT":"true"}}' aus dem Befehl. Wenn Sie eine Konfigurationseinstellung aktualisieren, ersetzen Sie "env":{"AWS_VPC_K8S_CNI_EXTERNALSNAT":"true"} durch die Einstellung, die Sie festlegen möchten. In diesem Beispiel ist die Umgebungsvariable AWS_VPC_K8S_CNI_EXTERNALSNAT auf true gesetzt. Der von Ihnen angegebene Wert muss für das Konfigurationsschema gültig sein. Falls Sie das Konfigurationsschema nicht kennen, führen Sie aws eks describe-addon-configuration --addon-name vpc-cni --addon-version v1.20.0-eksbuild.1 aus und ersetzen Sie dabei v1.20.0-eksbuild.1 durch die Versionsnummer des Add-Ons, für das Sie die Konfiguration anzeigen möchten. Das Schema wird in der Ausgabe zurückgegeben. Wenn Sie bereits eine benutzerdefinierte Konfiguration haben, diese komplett entfernen und die Werte für alle Einstellungen auf die Amazon EKS-Standardwerte zurücksetzen möchten, entfernen Sie "env":{"AWS_VPC_K8S_CNI_EXTERNALSNAT":"true"} aus dem Befehl, sodass nichts übrig bleibt{}. Eine Erläuterung der einzelnen Einstellungen finden Sie unter CNI-Konfigurationsvariablen auf GitHub.

      aws eks update-addon --cluster-name my-cluster --addon-name vpc-cni --addon-version v1.20.1-eksbuild.3 \ --service-account-role-arn arn:aws:iam::111122223333:role/AmazonEKSVPCCNIRole \ --resolve-conflicts PRESERVE --configuration-values '{"env":{"AWS_VPC_K8S_CNI_EXTERNALSNAT":"true"}}'

      Es kann einige Sekunden dauern, bis das Update abgeschlossen ist.

  4. Vergewissern Sie sich, dass die Add-on-Version aktualisiert wurde. Ersetzen Sie my-cluster durch den Namen Ihres Clusters.

    aws eks describe-addon --cluster-name my-cluster --addon-name vpc-cni

    Es kann einige Sekunden dauern, bis das Update abgeschlossen ist.

    Eine Beispielausgabe sieht wie folgt aus.

    { "addon": { "addonName": "vpc-cni", "clusterName": "my-cluster", "status": "ACTIVE", "addonVersion": "v1.20.1-eksbuild.3", "health": { "issues": [] }, "addonArn": "arn:aws:eks:region:111122223333:addon/my-cluster/vpc-cni/74c33d2f-b4dc-8718-56e7-9fdfa65d14a9", "createdAt": "2023-04-12T18:25:19.319000+00:00", "modifiedAt": "2023-04-12T18:40:28.683000+00:00", "serviceAccountRoleArn": "arn:aws:iam::111122223333:role/AmazonEKSVPCCNIRole", "tags": {}, "configurationValues": "{\"env\":{\"AWS_VPC_K8S_CNI_EXTERNALSNAT\":\"true\"}}" } }