Erstellung eines Amazon-EKS-Add-Ons - Amazon EKS

Unterstützung für die Verbesserung dieser Seite beitragen

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Um zu diesem Benutzerhandbuch beizutragen, wählen Sie den GitHub Link Diese Seite bearbeiten auf, der sich im rechten Bereich jeder Seite befindet.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

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.

  • Sind für die Verwendung AWS mit Amazon EKS validiert.

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

Sie können ein Amazon EKS-Add-on mithilfe eksctl der AWS-Managementkonsole oder der AWS CLI erstellen. 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

Sie können ein Amazon EKS-Add-on mithilfe eksctl der AWS-Managementkonsole oder der AWS CLI erstellen. 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 mit 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. Stellen Sie fest, ob es sich bei dem Add-on, das Sie erstellen möchten, um ein Amazon EKS- oder AWS Marketplace-Add-On handelt. Der AWS Marketplace enthält Add-Ons von Drittanbietern, für die Sie zusätzliche Schritte ausführen müssen, um das Add-on zu erstellen.

      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 die 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"

      Sie können mehr über das Add-on im AWS Marketplace mit der zurückgegebenen URL erfahren. 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 im AWS Marketplace erstellen möchten, muss der IAM-Principal, den Sie zum Erstellen des Add-ons verwenden, über die Berechtigung verfügen, die AWSServiceRoleForAWSLicenseManagerRoleserviceverknüpfte Rolle zu erstellen. 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 ihn user-data wie folgt:

    • Ersetzen Sie my-cluster mit dem 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 verwenden möchten, die älter als die neueste Version ist, latest ersetzen Sie sie 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-arn arn: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 vorhandenen selbstverwalteten Add-Ons nicht überschreiben möchten, entfernen Sie die --force Option. 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 (Konsole)AWS

  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 Amazon EKS-Add-Ons und AWS Marketplace-Add-Ons hinzufügen, wie Sie benötigen.

    Für AWS Marketplace-Add-Ons muss der IAM-Principal, den Sie zum Erstellen des Add-ons verwenden, über Berechtigungen zum Lesen von Berechtigungen für das Add-on aus dem verfügen. AWS LicenseManager AWS LicenseManager erfordert eine AWSServiceRoleForAWSLicenseManagerRoleserviceverknüpfte Rolle (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, die Sie installieren möchten, nicht aufgeführt sind, können Sie auf die Seitennummerierung klicken, um zusätzliche 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-Ons 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 Serviceoption für EKS und der Anwendungsfall für EKS — Pod Identity vorausgewä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-Plugin 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 Amazon VPC CNI-Add-on wird die Rolle beispielsweise mit dem Namen Amazon erstellt. EKSPod IdentityAmazon VPCCNIRole Unter Beschreibung wird die Standardbeschreibung automatisch mit der entsprechenden Beschreibung für das Add-On eingetragen. Für das Amazon VPC CNI-Add-on wird die Rolle beispielsweise mit der Beschreibung Erlaubt 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 Add-Ons AWS und Community-Erweiterungen 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 erstellen (AWS CLI)

  1. Sie müssen Version 2.12.3 oder höher oder Version 1.27.160 oder höher der AWS Befehlszeilenschnittstelle (AWS CLI) auf Ihrem Gerät installiert und konfiguriert haben oder AWS CloudShell. Um Ihre aktuelle Version zu überprüfen, verwenden Sie aws --version | cut -d / -f2 | cut -d ' ' -f1. Paketmanager wie yumapt-get, oder Homebrew für macOS liegen oft mehrere Versionen hinter der neuesten Version der AWS CLI. Informationen zur Installation der neuesten Version finden Sie unter Installation und Schnellkonfiguration mit aws configure im Benutzerhandbuch für die AWS Befehlszeilenschnittstelle. Die AWS CLI-Version, in der installiert ist, AWS CloudShell kann auch mehrere Versionen hinter der neuesten Version liegen. Informationen zur Aktualisierung finden Sie im AWS CloudShell Benutzerhandbuch unter AWS CLI in Ihrem Home-Verzeichnis installieren.

  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 sehen, die über den AWS Marketplace erhältlich 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 vpc-cni durch den Namen eines Add-Ons, das im vorherigen Schritt zurückgegeben wurde.

    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 mit dem 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 in der Ausgabe des vorherigen Schritts zurückgegebene Version, 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 Community-Add-Ons verfügbar. Weitere Informationen finden Sie unter Benutzerdefinierter Namespace für Add-Ons.

    • Wenn für das Add-on keine IAM-Berechtigungen erforderlich sind, löschen Sie <service-account-configuration> es.

    • Führen Sie eine der folgenden Aktionen aus:

      • Wenn für das Add-on (1) IAM-Berechtigungen erforderlich sind und (2) Ihr Cluster EKS-Pod-Identitäten verwendet, <service-account-configuration> ersetzen Sie es durch die folgende Pod-Identitätszuordnung. Ersetzen Sie es <service-account-name> durch den Namen des Dienstkontos, der vom Add-on verwendet wird. Durch <role-arn> den ARN einer IAM-Rolle ersetzen. Die Rolle muss über die von EKS Pod Identities geforderte Vertrauensrichtlinie verfügen.

        --pod-identity-associations 'serviceAccount=<service-account-name>,roleArn=<role-arn>'
      • Wenn für das Add-on (1) IAM-Berechtigungen erforderlich sind und (2) Ihr Cluster IRSA verwendet, <service-account-configuration> ersetzen Sie es durch die folgende IRSA-Konfiguration. 111122223333Ersetzen Sie es durch Ihre Konto-ID und role-name 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 --resolve-conflicts OVERWRITE Option. 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.