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

Erstellung eines Amazon-EKS-Add-Ons

Amazon-EKS-Add-Ons sind Zusatzsoftware für Amazon-EKS-Cluster. Alle Amazon-EKS-Add-Ons:

  • Sie enthalten die neuesten Sicherheits-Patches und Fehlerbehebungen.

  • Sie sind von AWS für die Zusammenarbeit mit Amazon EKS validiert.

  • Sie reduzieren den Arbeitsaufwand für die Verwaltung der Add-On-Software.

So erstellen Sie das Amazon-EKS-Add-On mit eksctl, AWS-Managementkonsole, oder AWS CLI. Wenn das Add-On eine IAM-Rolle erfordert, finden Sie weitere Informationen zum Erstellen der Rolle in den Details zum jeweiligen Add-On unter Amazon-EKS-Add-Ons.

Voraussetzungen

Führen Sie Folgendes aus, bevor Sie ein Add-On erstellen:

Verfahren

So erstellen Sie das Amazon-EKS-Add-On mit eksctl, AWS-Managementkonsole, oder AWS CLI. Wenn das Add-On eine IAM-Rolle erfordert, finden Sie in den Details zum jeweiligen Add-On unter Verfügbare Amazon-EKS-Add-Ons von AWS Einzelheiten zum Erstellen der Rolle.

Add-On erstellen (eksctl)

  1. Zeigen Sie die Namen der Add-Ons an, die für eine Cluster-Version verfügbar sind. Ersetzen Sie 1.33 durch die Version Ihres Clusters.

    eksctl utils describe-addon-versions --kubernetes-version 1.33 | grep AddonName

    Eine Beispielausgabe sieht wie folgt aus.

    "AddonName": "aws-ebs-csi-driver", "AddonName": "coredns", "AddonName": "kube-proxy", "AddonName": "vpc-cni", "AddonName": "adot", "AddonName": "dynatrace_dynatrace-operator", "AddonName": "upbound_universal-crossplane", "AddonName": "teleport_teleport", "AddonName": "factorhouse_kpow", [...]
  2. Zeigen Sie die Versionen des Add-Ons an, die für das Add-On verfügbar sind, das Sie erstellen möchten. Ersetzen Sie 1.33 durch die Version Ihres Clusters. Ersetzen Sie name-of-addon durch dem Namen des Add-Ons, für das Sie die Versionen anzeigen möchten. Der Name muss einer der Namen sein, die in den vorherigen Schritten zurückgegeben wurden.

    eksctl utils describe-addon-versions --kubernetes-version 1.33 --name name-of-addon | grep AddonVersion

    Die folgende Ausgabe ist ein Beispiel dafür, was für das Add-On mit dem Namen vpc-cni zurückgegeben wird. Sie können sehen, dass das Add-On in mehreren Versionen verfügbar ist.

    "AddonVersions": [ "AddonVersion": "v1.12.0-eksbuild.1", "AddonVersion": "v1.11.4-eksbuild.1", "AddonVersion": "v1.10.4-eksbuild.1", "AddonVersion": "v1.9.3-eksbuild.1",
    1. Bestimmen Sie, ob es sich beim Add-On, das Sie erstellen möchten, um ein Amazon-EKS- oder AWS-Marketplace-Add-On handelt. AWS Marketplace verfügt über Add-Ons von Drittanbietern, für die Sie zusätzliche Schritte zum Erstellen des Add-Ons ausführen müssen.

      eksctl utils describe-addon-versions --kubernetes-version 1.33 --name name-of-addon | grep ProductUrl

      Wenn keine Ausgabe zurückgegeben wird, handelt es sich bei dem Add-On um ein Amazon EKS. Wenn eine Ausgabe zurückgegeben wird, handelt es sich bei dem Add-On um ein AWS-Marketplace-Add-On. Die folgende Ausgabe bezieht sich auf ein Add-On mit dem Namen teleport_teleport.

      "ProductUrl": "https://aws.amazon.com/marketplace/pp?sku=3bda70bb-566f-4976-806c-f96faef18b26"

      Weitere Informationen zum Add-On erhalten Sie im AWS Marketplace unter der zurückgegebenen URL. Wenn für das Add-On ein Abonnement erforderlich ist, können Sie das Add-On über den AWS Marketplace abonnieren. Wenn Sie ein Add-On aus AWS Marketplace erstellen, muss der IAM-Prinzipal, den Sie zum Erstellen des Add-Ons verwenden, über die Berechtigung zum Erstellen der serviceverknüpften Rolle AWSServiceRoleForAWSLicenseManagerRole verfügen. Weitere Informationen zum Zuweisen von Berechtigungen zu einer IAM-Entität finden Sie unter Hinzufügen und Entfernen von IAM-Identitäts-Berechtigungen im IAM-Benutzerhandbuch.

  3. Erstellen Sie ein Amazon-EKS-Add-On. Kopieren Sie den Befehl und ersetzen Sie user-data wie folgt:

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

    • Ersetzen Sie name-of-addon durch den Namen des Add-Ons, das Sie erstellen möchten.

    • Wenn Sie eine Version des Add-Ons wünschen, die älter als die neueste Version ist, ersetzen Sie neueste durch die Versionsnummer, die in der Ausgabe eines vorherigen Schritts zurückgegeben wurde, den Sie verwenden möchten.

    • Wenn das Add-On eine Servicekonto-Rolle verwendet, ersetzen Sie 111122223333 durch Ihre Konto-ID und role-name durch den Namen der Rolle. Anweisungen zum Erstellen einer Rolle für Ihr Servicekonto finden Sie in der Dokumentation für das Add-On, das Sie erstellen. Eine Liste der Add-Ons finden Sie unter AWS-Add-Ons. Die Angabe einer Servicekonto-Rolle setzt voraus, 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.

      Wenn das Add-On keine Servicekonto-Rolle verwendet, löschen Sie --service-account-role-arnarn:aws:iam::111122223333:role/role-name.

    • Dieser Beispielbefehl überschreibt die Konfiguration aller vorhandenen selbstverwalteten Versionen des Add-Ons, falls es eine gibt. Wenn Sie die Konfiguration eines bereits vorhandenen selbstverwalteten Add-Ons nicht überschreiben möchten, entfernen Sie die Option --force. Wenn Sie die Option entfernen und das Amazon-EKS-Add-On die Konfiguration eines vorhandenen selbstverwalteten Add-Ons benötigt, scheitert die Erstellung des Amazon-EKS-Add-Ons mit einer Fehlermeldung, die Sie bei der Behebung des Konflikts unterstützt. Stellen Sie vor der Angabe 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.

      eksctl create addon --cluster my-cluster --name name-of-addon --version latest \ --service-account-role-arn arn:aws:iam::111122223333:role/role-name --force

      Sie finden eine Liste mit allen verfügbaren Optionen für den Befehl.

      eksctl create addon --help

      Weitere Informationen zu verfügbaren Optionen finden Sie unter Add-Ons in der eksctl-Dokumentation.

Add-On erstellen (AWS-Konsole)

  1. Öffnen Sie die Amazon-EKS-Konsole.

  2. Wählen Sie im linken Navigationsbereich Cluster aus.

  3. Wählen Sie den Namen des Clusters, für den Sie das Add-On erstellen möchten.

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

  5. Wählen Sie Weitere Add-Ons erhalten.

  6. Wählen Sie auf der Seite Select add-ons (Add-Ons auswählen) die Add-Ons aus, die Sie Ihrem Cluster hinzufügen möchten. Sie können so viele Add-Ons von Amazon EKS und Add-Ons von AWS Marketplace hinzufügen, wie Sie benötigen.

    Für AWS-Marketplace-Add-Ons muss der IAM-Prinzipal, den Sie zum Erstellen des Add-Ons verwenden, über die Berechtigung zum Lesen von Berechtigungen für das Add-On aus dem AWS LicenseManager verfügen. AWS LicenseManager benötigt die serviceverknüpfte Rolle AWSServiceRoleForAWS LicenseManagerRole (SLR), die es AWS-Ressourcen ermöglicht, Lizenzen in Ihrem Namen zu verwalten. Das SLR ist eine einmalige Anforderung pro Konto, und Sie müssen keine separaten SLRs für jedes Add-On oder jeden Cluster erstellen. Weitere Informationen zum Zuweisen von Berechtigungen zu einem IAM-Prinzipal finden Sie unter Hinzufügen und Entfernen von IAM-Identitäts-Berechtigungen im IAM-Benutzerhandbuch.

    Wenn die AWS-Marketplace-Add-Ons, welche Sie installieren möchten, nicht aufgeführt sind, können Sie auf die Seitennummerierung klicken, um weitere Seitenergebnisse anzuzeigen, oder im Suchfeld suchen. In den Filtering options (Filteroptionen) können Sie auch nach category (Kategorie), vendor (Anbieter) oder pricing model (Preismodell) filtern und dann die Add-ons aus den Suchergebnissen auswählen. Nachdem Sie die Add-Ons ausgewählt haben, die Sie installieren möchten, wählen Sie Weiter.

  7. Gehen Sie auf der Seite Konfigurieren ausgewählter Add-Ons-Einstellungen wie folgt vor:

    1. Wählen Sie View subscription options (Abonnementoptionen anzeigen), um das Formular Subscription options (Abonnementoptionen) zu öffnen. Lesen Sie die Abschnitte Pricing details (Preisinformationen) und Legal (Rechtliche Hinweise) und klicken Sie dann auf Subscribe (Abonnieren), um fortzufahren.

    2. Wählen Sie für Version die Version aus, welche Sie installieren möchten. Wir empfehlen die als neueste Version markierte Version, es sei denn, das einzelne Add-On, das Sie erstellen, empfiehlt eine andere Version. Um festzustellen, ob ein Add-On über eine empfohlene Version verfügt, lesen Sie die Dokumentation für das Add-On, das Sie erstellen. Eine Liste der Add-Ons finden Sie unter AWS-Add-Ons.

    3. Sie haben zwei Möglichkeiten, Rollen für Add-On zu konfigurieren: IAM-Rolle für EKS-Pod-Identitäten und IAM-Rollen für Servicekonten (IRSA). Befolgen Sie die entsprechenden nachfolgenden Schritte für die von Ihnen bevorzugte Option. Wenn für alle von Ihnen ausgewählten Add-Ons Abonnement erforderlich ist unter Status, wählen Sie Weiter aus. Sie können diese Add-Ons konfigurieren, wenn Sie sie nach der Erstellung Ihres Clusters abonniert haben. Für die Add-Ons, die kein Abonnement erforderlich unter Status haben, gehen Sie wie folgt vor:

      1. Für die IAM-Rolle Pod Identity für Servicekonto können Sie entweder eine vorhandene IAM-Rolle EKS Pod Identity verwenden oder mithilfe der Schaltfläche Empfohlene Rolle erstellen eine neue Rolle erstellen. In diesem Feld werden nur Optionen mit der entsprechenden Vertrauensrichtlinie bereitgestellt. Wenn keine Rolle zur Auswahl steht, verfügen Sie über keine vorhandene Rolle mit einer passenden Vertrauensrichtlinie. Um eine IAM-Rolle EKS Pod Identity für Servicekonten der ausgewählten Add-On zu konfigurieren, wählen Sie Empfohlene Rolle erstellen aus. Der Assistent zur Rollenerstellung wird in einem separaten Fenster geöffnet. Der Assistent füllt die Rolleninformationen automatisch wie folgt aus. Führen Sie für jedes Add-On, für das Sie die IAM-Rolle EKS Pod Identity erstellen möchten, die folgenden Schritte im IAM-Assistenten aus.

        • Im Schritt Vertrauenswürdige Entität auswählen sind die AWS-Service-Option für EKS und der Anwendungsfall für EKS – Pod Identity vorab ausgewählt und die entsprechende Vertrauensrichtlinie wird automatisch für das Add-On ausgefüllt. Beispielsweise wird die Rolle mit der entsprechenden Vertrauensrichtlinie erstellt, die den IAM-Prinzipal pods.eks.amazonaws.com enthält, wie in Vorteile von EKS-Pod-Identitäten beschrieben. Wählen Sie Weiter aus.

        • Im Schritt Berechtigungen hinzufügen wird die entsprechende verwaltete Richtlinie für die Rollenrichtlinie für das Add-On vorausgewählt. Beispielsweise wird für das Add-On für Amazon VPC CNI die Rolle mit der verwalteten Richtlinie AmazonEKS_CNI_Policy erstellt, wie in Amazon-VPC-CNI-Plug-In für Kubernetes beschrieben. Wählen Sie Weiter aus.

        • Im Schritt Name, überprüfen und erstellen wird unter Rollenname automatisch der Standardrollenname für das Add-On eingetragen. Für das Add-On für Amazon VPC CNI wird die Rolle beispielsweise mit dem Namen AmazonEKSPodIdentityAmazonVPCCNIRole erstellt. Unter Beschreibung wird die Standardbeschreibung automatisch mit der entsprechenden Beschreibung für das Add-On eingetragen. Beispielsweise wird für das Add-On für Amazon VPC CNI die Rolle mit der Beschreibung Ermöglicht Pods, die im Amazon-EKS-Cluster ausgeführt werden, den Zugriff auf AWS-Ressourcen erstellt. Zeigen Sie unter Vertrauensrichtlinie die ausgefüllte Vertrauensrichtlinie für das Add-On an. Wählen Sie Rolle erstellen aus.

          HINWEIS: Durch Beibehalten des Standard-Rollennamens kann EKS die Rolle für Add-Ons in neuen Clustern oder beim Hinzufügen von Add-Ons zu vorhandenen Clustern vorab auswählen. Sie können diesen Namen weiterhin überschreiben, und die Rolle steht dann für das Add-On in Ihren Clustern zur Verfügung, muss jedoch manuell aus der Dropdown-Liste ausgewählt werden.

      2. Informationen zu Add-Ons, bei denen unter Status nicht die Option Abonnement erforderlich angezeigt wird und bei denen Sie Rollen mithilfe von IRSA konfigurieren möchten, finden Sie in der Dokumentation des Add-Ons, das Sie erstellen, um eine IAM-Richtlinie zu erstellen und sie einer Rolle zuzuordnen. Eine Liste der Add-Ons finden Sie unter AWS-Add-Ons. Die Auswahl einer IAM-Rolle erfordert, 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.

      3. Wählen Sie Optional configuration settings (Optionale Konfigurationseinstellungen) aus.

      4. Wenn für das Add-On eine Konfiguration erforderlich ist, geben Sie diese in das Feld Configuration values (Konfigurationswerte) ein. Um festzustellen, ob für das Add-On Konfigurationsinformationen erforderlich sind, lesen Sie die Dokumentation für das Add-On, das Sie erstellen. Eine Liste der Add-Ons finden Sie unter AWS-Add-Ons.

      5. Wählen Sie eine der verfügbaren Optionen für die Konfliktlösungsmethode aus. Wenn Sie Überschreiben für Konfliktlösungsmethode auswählen, können eine oder mehrere der Einstellungen für das vorhandene Add-On mit den Einstellungen des Amazon-EKS-Add-Ons überschrieben werden. Wenn Sie diese Option nicht aktivieren und ein Konflikt mit Ihren vorhandenen Einstellungen vorliegt, schlägt der Vorgang fehl. Sie können die sich daraus ergebende Fehlermeldung heranziehen, um den Konflikt zu beheben. Stellen Sie vor der Auswahl dieser Option sicher, dass das Amazon-EKS-Add-On keine Einstellungen verwaltet, die Sie selbst verwalten müssen.

      6. Wenn Sie das Add-On in einem bestimmten Namespace installieren möchten, geben Sie diesen in das Feld Namespace ein. Für AWS- und Community-Add-Ons können Sie einen benutzerdefinierten Kubernetes-Namespace definieren, in dem das Add-On installiert werden soll. Weitere Informationen finden Sie unter Benutzerdefinierter Namespace für Add-Ons.

      7. Wählen Sie Weiter aus.

  8. Wählen Sie auf der Seite Überprüfen und hinzufügen die Option Erstellen aus. Nachdem die Installation der Add-Ons abgeschlossen ist, werden Ihre installierten Add-Ons angezeigt.

  9. Wenn für eines der von Ihnen installierten Add-Ons ein Abonnement erforderlich ist, gehen Sie wie folgt vor:

    1. Wählen Sie die Schaltfläche Subscribe (Abonnieren) in der unteren rechten Ecke für das Add-On. Sie werden auf die Seite für das Add-On im AWS Marketplace weitergeleitet. Lesen Sie die Informationen zum Add-On, z. B. die Product Overview (Produktübersicht) und die Pricing Information (Preisinformationen).

    2. Wählen Sie oben rechts auf der Add-on-Seite die Schaltfläche Continue to Subscribe (Mit dem Abonnement fortfahren) aus.

    3. Lesen Sie sich die (Allgemeinen Geschäftsbedingungen) durch. Wenn Sie damit einverstanden sind, wählen Sie Accept Terms (Bedingungen akzeptieren) aus. Die Bearbeitung des Abonnements kann mehrere Minuten dauern. Während das Abonnement bearbeitet wird, ist die Schaltfläche Return to Amazon EKS Console (Zurück zur Amazon-EKS-Konsole) ausgegraut.

    4. Sobald die Bearbeitung des Abonnements abgeschlossen ist, ist die Schaltfläche Return to Amazon EKS Console (Zurück zur Amazon-EKS-Konsole) nicht mehr ausgegraut. Wählen Sie die Schaltfläche aus, um zur Registerkarte Add-ons (Add-Ons) der Amazon-EKS-Konsole für Ihren Cluster zurückzukehren.

    5. Wählen Sie für das Add-On, das Sie abonniert haben, Remove and reinstall (Entfernen und erneut installieren) und dann Reinstall add-on (Add-On erneut installieren) aus. Die Installation des Add-Ons kann einige Minuten dauern. Wenn die Installation abgeschlossen ist, können Sie das Add-On konfigurieren.

Add-On (AWS-CLI)

  1. Sie benötigen die Version 2.12.3 oder höher oder die Version 1.27.160 oder höher der AWS-Befehlszeilenschnittstelle (AWS-CLI), die auf Ihrem Gerät oder in AWS CloudShell installiert und konfiguriert sein muss. Um Ihre aktuelle Version zu überprüfen, verwenden Sie aws --version | cut -d / -f2 | cut -d ' ' -f1. Paket-Manager wie yum, apt-get oder Homebrew für macOS sind oft mehrere Versionen hinter der neuesten Version der AWS-CLI. Um die neueste Version zu installieren, lesen Sie Installation und Schnellkonfiguration mit aws configure im Benutzerhandbuch zur AWS-Befehlszeilenschnittstelle. Die in AWS CloudShell installierte AWS-CLI-Version kann auch mehrere Versionen hinter der neuesten Version liegen. Informationen zum Aktualisieren finden Sie unter Installieren der AWS CLI in Ihrem Stammverzeichnis im AWS-CloudShell-Benutzerhandbuch.

  2. Bestimmen Sie, welche Add-Ons verfügbar sind. Sie können alle verfügbaren Add-Ons, ihren Typ und ihren Publisher anzeigen. Sie können auch die URL für Add-Ons einsehen, die über den AWS Marketplace verfügbar sind. Ersetzen Sie 1.33 durch die Version Ihres Clusters.

    aws eks describe-addon-versions --kubernetes-version 1.33 \ --query 'addons[].{MarketplaceProductUrl: marketplaceInformation.productUrl, Name: addonName, Owner: owner Publisher: publisher, Type: type}' --output table

    Eine Beispielausgabe sieht wie folgt aus.

    --------------------------------------------------------------------------------------------------------------------------------------------------------- | DescribeAddonVersions | +---------------------------------------------------------------+-------------------------------+------------------+--------------+---------------------+ | MarketplaceProductUrl | Name | Owner | Publisher | Type | +---------------------------------------------------------------+-------------------------------+------------------+--------------+---------------------+ | None | aws-ebs-csi-driver | aws | eks | storage | | None | coredns | aws | eks | networking | | None | kube-proxy | aws | eks | networking | | None | vpc-cni | aws | eks | networking | | None | adot | aws | eks | observability | | https://aws.amazon.com/marketplace/pp/prodview-brb73nceicv7u | dynatrace_dynatrace-operator | aws-marketplace | dynatrace | monitoring | | https://aws.amazon.com/marketplace/pp/prodview-uhc2iwi5xysoc | upbound_universal-crossplane | aws-marketplace | upbound | infra-management | | https://aws.amazon.com/marketplace/pp/prodview-hd2ydsrgqy4li | teleport_teleport | aws-marketplace | teleport | policy-management | | https://aws.amazon.com/marketplace/pp/prodview-vgghgqdsplhvc | factorhouse_kpow | aws-marketplace | factorhouse | monitoring | | [...] | [...] | [...] | [...] | [...] | +---------------------------------------------------------------+-------------------------------+------------------+--------------+---------------------+

    Ihre Ausgabe ist möglicherweise anders. In dieser Beispielausgabe sind drei verschiedene Add-Ons vom Typ networking und fünf Add-Ons mit einem Publisher vom Typ eks verfügbar. Für die Add-Ons mit aws-marketplace in der Owner-Spalte ist möglicherweise ein Abonnement erforderlich, bevor Sie sie installieren können. Sie können die URL besuchen, um mehr über das Add-On zu erfahren und es zu abonnieren.

  3. Sie können anzeigen, welche Versionen für jedes Add-On verfügbar sind. Ersetzen Sie 1.33 durch die Version Ihres Clusters und ersetzen Sie vpc-cni durch den Namen eines im vorherigen Schritt zurückgegebenen Add-Ons.

    aws eks describe-addon-versions --kubernetes-version 1.33 --addon-name vpc-cni \ --query 'addons[].addonVersions[].{Version: addonVersion, Defaultversion: compatibilities[0].defaultVersion}' --output table

    Eine Beispielausgabe sieht wie folgt aus.

    ------------------------------------------ | DescribeAddonVersions | +-----------------+----------------------+ | Defaultversion | Version | +-----------------+----------------------+ | False | v1.12.0-eksbuild.1 | | True | v1.11.4-eksbuild.1 | | False | v1.10.4-eksbuild.1 | | False | v1.9.3-eksbuild.1 | +-----------------+----------------------+

    Die Version True in der Defaultversion-Spalte ist standardmäßig die Version, mit der das Add-On erstellt wurde.

  4. (Optional) Finden Sie die Konfigurationsoptionen für das von Ihnen gewählte Add-On, indem Sie den folgenden Befehl ausführen:

    aws eks describe-addon-configuration --addon-name vpc-cni --addon-version v1.12.0-eksbuild.1
    { "addonName": "vpc-cni", "addonVersion": "v1.12.0-eksbuild.1", "configurationSchema": "{\"$ref\":\"#/definitions/VpcCni\",\"$schema\":\"http://json-schema.org/draft-06/schema#\",\"definitions\":{\"Cri\":{\"additionalProperties\":false,\"properties\":{\"hostPath\":{\"$ref\":\"#/definitions/HostPath\"}},\"title\":\"Cri\",\"type\":\"object\"},\"Env\":{\"additionalProperties\":false,\"properties\":{\"ADDITIONAL_ENI_TAGS\":{\"type\":\"string\"},\"AWS_VPC_CNI_NODE_PORT_SUPPORT\":{\"format\":\"boolean\",\"type\":\"string\"},\"AWS_VPC_ENI_MTU\":{\"format\":\"integer\",\"type\":\"string\"},\"AWS_VPC_K8S_CNI_CONFIGURE_RPFILTER\":{\"format\":\"boolean\",\"type\":\"string\"},\"AWS_VPC_K8S_CNI_CUSTOM_NETWORK_CFG\":{\"format\":\"boolean\",\"type\":\"string\"},\"AWS_VPC_K8S_CNI_EXTERNALSNAT\":{\"format\":\"boolean\",\"type\":\"string\"},\"AWS_VPC_K8S_CNI_LOGLEVEL\":{\"type\":\"string\"},\"AWS_VPC_K8S_CNI_LOG_FILE\":{\"type\":\"string\"},\"AWS_VPC_K8S_CNI_RANDOMIZESNAT\":{\"type\":\"string\"},\"AWS_VPC_K8S_CNI_VETHPREFIX\":{\"type\":\"string\"},\"AWS_VPC_K8S_PLUGIN_LOG_FILE\":{\"type\":\"string\"},\"AWS_VPC_K8S_PLUGIN_LOG_LEVEL\":{\"type\":\"string\"},\"DISABLE_INTROSPECTION\":{\"format\":\"boolean\",\"type\":\"string\"},\"DISABLE_METRICS\":{\"format\":\"boolean\",\"type\":\"string\"},\"DISABLE_NETWORK_RESOURCE_PROVISIONING\":{\"format\":\"boolean\",\"type\":\"string\"},\"ENABLE_POD_ENI\":{\"format\":\"boolean\",\"type\":\"string\"},\"ENABLE_PREFIX_DELEGATION\":{\"format\":\"boolean\",\"type\":\"string\"},\"WARM_ENI_TARGET\":{\"format\":\"integer\",\"type\":\"string\"},\"WARM_PREFIX_TARGET\":{\"format\":\"integer\",\"type\":\"string\"}},\"title\":\"Env\",\"type\":\"object\"},\"HostPath\":{\"additionalProperties\":false,\"properties\":{\"path\":{\"type\":\"string\"}},\"title\":\"HostPath\",\"type\":\"object\"},\"Limits\":{\"additionalProperties\":false,\"properties\":{\"cpu\":{\"type\":\"string\"},\"memory\":{\"type\":\"string\"}},\"title\":\"Limits\",\"type\":\"object\"},\"Resources\":{\"additionalProperties\":false,\"properties\":{\"limits\":{\"$ref\":\"#/definitions/Limits\"},\"requests\":{\"$ref\":\"#/definitions/Limits\"}},\"title\":\"Resources\",\"type\":\"object\"},\"VpcCni\":{\"additionalProperties\":false,\"properties\":{\"cri\":{\"$ref\":\"#/definitions/Cri\"},\"env\":{\"$ref\":\"#/definitions/Env\"},\"resources\":{\"$ref\":\"#/definitions/Resources\"}},\"title\":\"VpcCni\",\"type\":\"object\"}}}" }

    Die Ausgabe ist ein standardmäßiges JSON-Schema.

    Hier ist ein Beispiel für gültige Konfigurationswerte im JSON-Format, die mit dem obigen Schema funktionieren.

    { "resources": { "limits": { "cpu": "100m" } } }

    Hier ist ein Beispiel für gültige Konfigurationswerte im YAML-Format, die mit dem obigen Schema funktionieren.

    resources: limits: cpu: 100m
  5. Stellen Sie fest, ob das Add-On IAM-Berechtigungen erfordert. In diesem Fall müssen Sie (1) festlegen, ob Sie EKS Pod Identity oder IAM-Rollen für Servicekonten (IRSA) verwenden möchten, (2) die ARN der IAM-Rolle bestimmen, die mit dem Add-On verwendet werden soll, und (3) den Namen des Kubernetes-Servicekontos festlegen, das vom Add-On verwendet wird. Weitere Informationen finden Sie unter Abrufen von IAM-Informationen zu einem Amazon-EKS-Add-On.

    • Amazon EKS empfiehlt die Verwendung von EKS Pod Identities, sofern das Add-On dies unterstützt. Dies erfordert, dass der Pod Identity Agent auf Ihrem Cluster installiert ist. Weitere Informationen zur Verwendung von Pod Identities mit Add-Ons finden Sie unter IAM-Rollen für Amazon-EKS-Add-Ons.

    • Wenn das Add-On oder Ihr Cluster nicht für EKS Pod Identities eingerichtet ist, verwenden Sie IRSA. Bestätigen Sie, dass IRSA auf Ihrem Cluster eingerichtet ist.

    • Überprüfen Sie die Dokumentation zu Amazon-EKS-Add-Ons, um festzustellen, ob das Add-On IAM-Berechtigungen und den Namen des zugehörigen Kubernetes-Servicekontos erfordert.

      1. Erstellen Sie ein Amazon-EKS-Add-On. Kopieren Sie den folgenden Befehl auf Ihr Gerät. Nehmen Sie nach Bedarf die folgenden Änderungen am Befehl vor und führen Sie anschließend den geänderten Befehl aus:

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

    • Ersetzen Sie vpc-cni durch einen Add-On-Namen, der in der Ausgabe des vorherigen Schritts zurückgegeben wurde, den Sie erstellen möchten.

    • Ersetzen Sie version-number durch die Version, die in der Ausgabe des vorherigen Schritts zurückgegeben wurde und die Sie verwenden möchten.

    • Wenn Sie das Add-On in einem benutzerdefinierten Kubernetes-Namespace installieren möchten, fügen Sie die --namespace-config 'namespace=<my-namespace>-Option hinzu. Diese Option ist nur für AWS- und Community-Add-Ons verfügbar. Weitere Informationen finden Sie unter Benutzerdefinierter Namespace für Add-Ons.

    • Wenn das Add-On keine IAM-Berechtigungen erfordert, löschen Sie <service-account-configuration>.

    • Führen Sie eine der folgenden Aktionen aus:

      • Wenn das Add-on (1) IAM-Berechtigungen erfordert und (2) Ihr Cluster EKS Pod Identities verwendet, ersetzen Sie <service-account-configuration> durch die folgende Pod-Identity-Zuordnung. Ersetzen Sie <service-account-name> durch den vom Add-On verwendeten Servicekontonamen. Ersetzen Sie <role-arn> durch die ARN einer IAM-Rolle. Die Rolle muss über die von EKS Pod Identities geforderte Vertrauensrichtlinie verfügen.

        --pod-identity-associations 'serviceAccount=<service-account-name>,roleArn=<role-arn>'
      • Wenn das Add-On (1) IAM-Berechtigungen erfordert und (2) Ihr Cluster IRSA verwendet, ersetzen Sie <service-account-configuration> durch die folgende IRSA-Konfiguration. Ersetzen Sie 111122223333 durch Ihre Konto-ID und role-name durch den Namen einer vorhandenen IAM-Rolle, die Sie erstellt haben. Anweisungen zum Erstellen der Rolle finden Sie in der Dokumentation für das Add-On, das Sie erstellen. Eine Liste der Add-Ons finden Sie unter AWS-Add-Ons. Die Angabe einer Servicekonto-Rolle setzt voraus, 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.

        --service-account-role-arn arn:aws::iam::111122223333:role/role-name
    • Diese Beispielbefehle überschreiben die Option --configuration-values von gegebenenfalls vorhandenen selbstverwalteten Versionen des Add-Ons. Ersetzen Sie diese durch die gewünschten Konfigurationswerte, z. B. eine Zeichenfolge oder eine Dateieingabe. Wenn Sie keine Konfigurationswerte angeben möchten, löschen Sie die --configuration-values-Option. Wenn Sie nicht möchten, dass die AWS CLI die Konfiguration eines vorhandenen selbstverwalteten Add-Ons überschreibt, entfernen Sie die Option --resolve-conflicts OVERWRITE. Wenn Sie die Option entfernen und das Amazon-EKS-Add-On die Konfiguration eines vorhandenen selbstverwalteten Add-Ons benötigt, scheitert die Erstellung des Amazon-EKS-Add-Ons mit einer Fehlermeldung, die Sie bei der Behebung des Konflikts unterstützt. Stellen Sie vor der Angabe 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.

      aws eks create-addon --cluster-name my-cluster --addon-name vpc-cni --addon-version version-number \ <service-account-configuration> --configuration-values '{"resources":{"limits":{"cpu":"100m"}}}' --resolve-conflicts OVERWRITE
      aws eks create-addon --cluster-name my-cluster --addon-name vpc-cni --addon-version version-number \ <service-account-configuration> --configuration-values 'file://example.yaml' --resolve-conflicts OVERWRITE

      Eine vollständige Liste der verfügbaren Optionen finden Sie unter create-addon in der Amazon-EKS-Befehlszeilenreferenz. Wenn für das von Ihnen erstellte Add-On aws-marketplace in der Owner-Spalte eines vorherigen Schritts aufgeführt ist, kann die Erstellung fehlschlagen und Sie erhalten eine Fehlermeldung ähnlich der folgenden.

      { "addon": { "addonName": "addon-name", "clusterName": "my-cluster", "status": "CREATE_FAILED", "addonVersion": "version", "health": { "issues": [ { "code": "AddonSubscriptionNeeded", "message": "You are currently not subscribed to this add-on. To subscribe, visit the AWS Marketplace console, agree to the seller EULA, select the pricing type if required, then re-install the add-on" } ] } } }

      Wenn Sie einen Fehler erhalten, der dem Fehler in der vorherigen Ausgabe ähnelt, besuchen Sie die URL in der Ausgabe eines vorherigen Schritts, um das Add-On zu abonnieren. Führen Sie den create-addon-Befehl nach dem Abonnieren erneut aus.