Ein EKS Amazon-Add-on erstellen - Amazon EKS

Hilf mit, diese Seite zu verbessern

Möchten Sie zu diesem Benutzerhandbuch beitragen? Scrollen Sie zum Ende dieser Seite und wählen Sie Diese Seite bearbeiten am aus GitHub. Ihre Beiträge werden dazu beitragen, unser Benutzerhandbuch für alle zu verbessern.

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.

Ein EKS Amazon-Add-on erstellen

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

  • Fügen Sie die neuesten Sicherheitspatches und Bugfixes hinzu.

  • Wurden von AWS für die Zusammenarbeit mit Amazon validiertEKS.

  • Reduzieren Sie den Arbeitsaufwand für die Verwaltung der Zusatzsoftware.

Sie können ein EKS Amazon-Add-on mit eksctl AWS Management Console, dem oder dem erstellen AWS CLI. Wenn für das Add-on eine IAM Rolle erforderlich ist, finden Sie in den Details für das jeweilige Add-on unter Einzelheiten EKSAmazon-Add-Ons zur Erstellung der Rolle.

Voraussetzungen

Gehen Sie wie folgt vor, bevor Sie ein Add-on erstellen:

Verfahren

Sie können ein EKS Amazon-Add-on mit eksctl AWS Management Console, dem oder dem erstellen AWS CLI. Wenn für das Add-on eine IAM Rolle erforderlich ist, finden Sie in den Details für das jeweilige Add-on unter Einzelheiten Verfügbare EKS Amazon-Add-Ons von AWS zur Erstellung der Rolle.

eksctl
Um ein EKS Amazon-Add-on zu erstellen mit eksctl
  1. Zeigen Sie die Namen der Add-Ons an, die für eine Cluster-Version verfügbar sind. Ersetzen Sie 1.30 durch die Version Ihres Clusters.

    eksctl utils describe-addon-versions --kubernetes-version 1.30 | 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.30 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 im vorherigen Schritt zurückgegeben wurden.

    eksctl utils describe-addon-versions --kubernetes-version 1.30 --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",
  3. Stellen Sie fest, ob es sich bei dem Add-On, das Sie erstellen möchten, um ein Amazon EKS - oder ein AWS Marketplace Add-On handelt. Das AWS Marketplace hat 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.30 --name name-of-addon | grep ProductUrl

    Wenn keine Ausgabe zurückgegeben wird, handelt es sich bei dem Add-On um ein AmazonEKS. 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"

    Sie können mehr über das Add-on in der AWS Marketplace mit dem zurückgegebenen Add-on erfahrenURL. Wenn für das Add-On ein Abonnement erforderlich ist, können Sie das Add-On über das AWS Marketplace abonnieren. Wenn Sie aus dem ein Add-On erstellen möchten, muss der IAMPrincipal AWS Marketplace, den Sie zum Erstellen des Add-ons verwenden, über die Berechtigung zum Erstellen der AWSServiceRoleForAWSLicenseManagerRoleserviceverknüpften Rolle verfügen. Weitere Informationen zum Zuweisen von Berechtigungen zu einer IAM Entität finden Sie unter Hinzufügen und Entfernen von IAM Identitätsberechtigungen im IAM Benutzerhandbuch.

  4. Erstellen Sie ein EKS Amazon-Add-on. Kopieren Sie den Befehl und ersetzen Sie den user-data wie folgt festlegt:

    • 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 wünschen, die älter als die neueste Version ist, ersetzen Sie latest 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. Für die Angabe einer Dienstkontorolle benötigen Sie einen IAM OpenID Connect (OIDC) -Anbieter für Ihren Cluster. 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 nicht möchten, dass die Konfiguration eines vorhandenen selbstverwalteten Add-Ons überschreibt, entfernen Sie die Option --force. Wenn Sie die Option entfernen und das EKS Amazon-Add-on die Konfiguration eines vorhandenen selbstverwalteten Add-ons überschreiben muss, schlägt die Erstellung des EKS Amazon-Add-ons fehl und es wird eine Fehlermeldung angezeigt, die Ihnen bei der Lösung des Konflikts hilft. Bevor Sie diese Option angeben, stellen Sie sicher, dass das EKS Amazon-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.

AWS Management Console
Um ein EKS Amazon-Add-on mit dem zu erstellen AWS Management Console
  1. Öffnen Sie die EKS Amazon-Konsole unter https://console.aws.amazon.com/eks/home#/clusters.

  2. Wählen Sie im linken Navigationsbereich die Option 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 EKSAmazon-Add-Ons und AWS Marketplace -Add-Ons hinzufügen, wie Sie benötigen.

    Bei AWS MarketplaceAdd-Ons muss der IAMPrincipal, den Sie zum Erstellen des Add-ons verwenden, über die Rechte zum Lesen der Berechtigungen für das Add-on aus dem AWS LicenseManager verfügen. AWS LicenseManager erfordert eine AWSServiceRoleForAWSLicenseManagerRoledienstbezogene Rolle (SLR), die es AWS Ressourcen ermöglicht, Lizenzen in Ihrem Namen zu verwalten. Dies SLR ist eine einmalige Anforderung pro Konto, und Sie müssen weder für jedes Add-On noch für jeden Cluster separate SLR Konten erstellen. Weitere Informationen zum Zuweisen von Berechtigungen zu einem IAMPrinzipal finden Sie unter Hinzufügen und Entfernen von IAM Identitätsberechtigungen im IAM Benutzerhandbuch.

    Wenn die AWS Marketplace -Add-ons, die Sie installieren möchten, nicht aufgeführt sind, können Sie nach verfügbaren Add-ons suchen, indem Sie Text in das Suchfeld eingeben. 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 Next (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 unter Version die Version aus, die Sie installieren möchten. Wir empfehlen die als latest (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.

    3. Wenn für alle von Ihnen ausgewählten Add-Ons unter Status die Option Abonnement erforderlich steht, wählen Sie Weiter aus. Sie können diese Add-Ons konfigurieren, wenn Sie sie nach der Erstellung Ihres Clusters abonniert haben. Gehen Sie für die Add-Ons, für die unter Status nicht „Abonnement erforderlich“ nicht angezeigt wird, wie folgt vor:

      1. Akzeptieren Sie für IAM Rolle auswählen die Standardoption, sofern für das Add-on keine IAM Berechtigungen erforderlich sind. Wenn für das Add-on AWS Berechtigungen erforderlich sind, können Sie die IAM Rolle des Knotens (Nicht festgelegt) oder eine vorhandene Rolle verwenden, die Sie für die Verwendung mit dem Add-on erstellt haben. Wenn Sie keine Rolle auswählen können, verfügen Sie über keine vorhandene Rolle. Unabhängig davon, für welche Option Sie sich entscheiden, finden Sie in der Dokumentation zu dem Add-on, das Sie erstellen, Informationen zum Erstellen einer IAM Richtlinie und zum Anhängen dieser Richtlinie an eine Rolle. Um eine IAM Rolle auszuwählen, müssen Sie einen IAM OpenID Connect (OIDC) Anbieter für Ihren Cluster haben. 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.

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

      3. 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.

      4. Wählen Sie eine der verfügbaren Optionen für die Konfliktlösungsmethode. Wenn Sie Override für die Konfliktlösungsmethode wählen, können eine oder mehrere Einstellungen für das bestehende Add-on mit den EKS Amazon-Add-On-Einstellungen ü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. Bevor Sie diese Option wählen, stellen Sie sicher, dass das EKS Amazon-Add-on keine Einstellungen verwaltet, die Sie selbst verwalten müssen.

      5. Wählen Sie Weiter.

  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 in der 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 der Bearbeitung des Abonnements ist die Schaltfläche Zurück zur EKS Amazon-Konsole ausgegraut.

    4. Sobald die Bearbeitung des Abonnements abgeschlossen ist, ist die Schaltfläche Zurück zur EKS Amazon-Konsole nicht mehr ausgegraut. Klicken Sie auf die Schaltfläche, um zum Tab Add-Ons der EKS Amazon-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.

AWS CLI
Voraussetzung

Version 2.12.3 oder höher oder Version 1.27.160 oder höher von AWS Command Line Interface (AWS CLI), die auf Ihrem Gerät installiert und konfiguriert ist, oder AWS CloudShell. 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 von AWS CLI. Informationen zur Installation der neuesten Version von finden Sie unter Installation, Aktualisierung und Deinstallation der AWS CLI und Schnellkonfiguration mit aws configure im AWS Command Line Interface -Benutzerhandbuch. Die AWS CLI Version, in der installiert ist, AWS CloudShell kann auch mehrere Versionen hinter der neuesten Version liegen. Informationen zur Aktualisierung finden Sie unter Installation AWS CLI in Ihrem Home-Verzeichnis im AWS CloudShell Benutzerhandbuch.

Um ein EKS Amazon-Add-on mit dem zu erstellen AWS CLI
  1. 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 sich auch die vier URL Add-Ons ansehen, die über den verfügbar sind AWS Marketplace. Ersetzen Sie 1.30 durch die Version Ihres Clusters.

    aws eks describe-addon-versions --kubernetes-version 1.30 \ --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 das besuchenURL, um mehr über das Add-on zu erfahren und es zu abonnieren.

  2. Sie können anzeigen, welche Versionen für jedes Add-On verfügbar sind. Ersetzen Sie 1.30 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.30 --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.

  3. (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 JSON Standardschema.

    Hier ist ein Beispiel für gültige Konfigurationswerte in einem JSON Format, das mit dem obigen Schema funktioniert.

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

    Hier ist ein Beispiel für gültige Konfigurationswerte in einem YAML Format, das mit dem obigen Schema funktioniert.

      resources: 
        limits: 
          cpu: 100m    
  4. Stellen Sie fest, ob für das Add-on IAM Berechtigungen erforderlich sind. Falls ja, müssen Sie (1) bestimmen, ob Sie EKS Pod-Identitäten oder IAM Rollen für Dienstkonten verwenden möchten (IRSA), (2) die IAM Rolle bestimmen, die mit dem ARN Add-on verwendet werden soll, und (3) den Namen des Kubernetes-Dienstkontos bestimmen, das vom Add-on verwendet wird. Weitere Informationen finden Sie unter IAMInformationen über ein EKS Amazon-Add-on abrufen.

  5. Erstellen Sie ein EKS Amazon-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 für das Add-on keine IAM Berechtigungen erforderlich sind, löschen Sie es<service-account-configuration>.

    • 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. <service-account-name>Ersetzen Sie es durch den Namen des Dienstkontos, der vom Add-on verwendet wird. Durch <role-arn> den Wert 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 das Add-on (1) IAM Berechtigungen erfordert und (2) Ihr Cluster verwendetIRSA, <service-account-configuration> ersetzen Sie es durch die folgende IRSA Konfiguration. 111122223333Ersetzen Sie es 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. Für die Angabe einer Dienstkontorolle benötigen Sie einen IAM OpenID Connect (OIDC) -Anbieter für Ihren Cluster. 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 Konfiguration eines vorhandenen selbstverwalteten Add-ons überschrieben wird, entfernen Sie die --resolve-conflicts OVERWRITE Option. Wenn Sie die Option entfernen und das EKS Amazon-Add-on die Konfiguration eines vorhandenen selbstverwalteten Add-ons überschreiben muss, schlägt die Erstellung des EKS Amazon-Add-ons fehl und es wird eine Fehlermeldung angezeigt, die Ihnen bei der Lösung des Konflikts hilft. Bevor Sie diese Option angeben, stellen Sie sicher, dass das EKS Amazon-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 create-addon in der EKS Amazon-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 den URL in der Ausgabe eines vorherigen Schritts enthaltenen Link, um das Add-on zu abonnieren. Führen Sie den create-addon-Befehl nach dem Abonnieren erneut aus.