Creare un componente aggiuntivo Amazon EKS - Amazon EKS

Contribuisci a migliorare questa pagina

Per contribuire a questa guida per l’utente, seleziona il link Edit this page on GitHub che si trova nel riquadro destro di ogni pagina.

Creare un componente aggiuntivo Amazon EKS

I componenti aggiuntivi Amazon EKS sono software aggiuntivi per cluster Amazon EKS. Tutti i componenti aggiuntivi di Amazon EKS:

  • Includono le patch di sicurezza e le correzioni dei bug più recenti.

  • Sono convalidati da AWS per l’utilizzo con Amazon EKS.

  • Riducono la quantità di lavoro necessaria per gestire il software del componente aggiuntivo.

Ѐ possibile creare un componente aggiuntivo Amazon EKS utilizzando eksctl, la Console di gestione AWS o AWS CLI. Se il componente aggiuntivo richiede un ruolo IAM, consultare i dettagli del componente aggiuntivo specifico alla pagina Amazon EKS add-ons per conoscere i dettagli sulla creazione del ruolo.

Prerequisiti

Completare le seguenti operazioni prima di creare un componente aggiuntivo:

Procedura

Ѐ possibile creare un componente aggiuntivo Amazon EKS utilizzando eksctl, la Console di gestione AWS o AWS CLI. Se il componente aggiuntivo richiede un ruolo IAM, consultare i dettagli del componente aggiuntivo specifico alla pagina Available Amazon EKS add-ons from AWS per conoscere i dettagli sulla creazione del ruolo.

Creare un componente aggiuntivo (eksctl)

  1. Visualizza i nomi dei componenti aggiuntivi disponibili per una versione del cluster. Sostituire 1.33 con la versione del cluster.

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

    Di seguito viene riportato un output di esempio:

    "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. Visualizza le versioni disponibili per il componente aggiuntivo da creare. Sostituire 1.33 con la versione del cluster. Sostituire name-of-addon con il nome del componente aggiuntivo di cui visualizzare le versioni. Il nome deve essere uno di quelli restituiti al passaggio precedente.

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

    L'output seguente è un esempio di ciò che viene restituito per il componente aggiuntivo denominato vpc-cni. Come vedi, il componente aggiuntivo ha diverse versioni disponibili.

    "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. Stabilire se il componente aggiuntivo da creare è un componente aggiuntivo Amazon EKS o di AWS Marketplace. AWS Marketplace dispone di componenti aggiuntivi di terze parti che richiedono il completamento di ulteriori passaggi per la creazione.

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

      Se non viene restituito alcun output, il componente aggiuntivo è Amazon EKS. Se viene restituito un output, il componente aggiuntivo è un componente aggiuntivo di AWS Marketplace. Il seguente output viene fornito per un componente aggiuntivo denominato teleport_teleport.

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

      Ѐ possibile trovare ulteriori informazioni sul componente aggiuntivo in AWS Marketplace con l’URL restituito. Se il componente aggiuntivo richiede un abbonamento, è possibile sottoscrivere un abbonamento attraverso AWS Marketplace. Se si desidera creare un componente aggiuntivo da AWS Marketplace, il principale IAM che si utilizza per crearlo deve disporre dell’autorizzazione per la creazione del ruolo collegato al servizio AWSServiceRoleForAWSLicenseManagerRole. Per ulteriori informazioni sull'assegnazione di autorizzazioni a un'entità IAM, consulta Aggiunta e rimozione di autorizzazioni per identità IAM nella Guida per l'utente di IAM.

  3. Crea un componente aggiuntivo di Amazon EKS. Copiare il comando e sostituire i dati utente come indicato di seguito:

    • Sostituisci my-cluster con il nome del tuo cluster.

    • Sostituire name-of-addon con il nome del componente aggiuntivo da creare.

    • Se si desidera una versione del componente aggiuntivo precedente alla versione più recente, sostituire latest con il numero di versione da utilizzare restituito nell’output di un passaggio precedente.

    • Se il componente aggiuntivo utilizza un ruolo per l’account di servizio, sostituire 111122223333 con l’ID dell’account e sostituire role-name con il nome del ruolo. Per istruzioni sulla creazione di un ruolo per l’account di servizio, consultare la documentazione del componente aggiuntivo da creare. Per un elenco dei componenti aggiuntivi, consultare la pagina Componenti aggiuntivi AWS. Per specificare un ruolo per l’account di servizio è necessario disporre di un gestore OpenID Connect (OIDC) IAM per il cluster. Per stabilire se ne possiedi uno per il tuo cluster o per crearne uno, consulta Per creare un provider di identità IAM OIDC per il cluster.

      Se il componente aggiuntivo non utilizza un ruolo per l’account di servizio, eliminare --service-account-role-arnarn:aws:iam::111122223333:role/role-name.

    • Questo comando di esempio sovrascrive la configurazione di qualunque versione autogestita esistente del componente aggiuntivo, se presente. Se non si desidera sovrascrivere la configurazione di un componente aggiuntivo autogestito esistente, rimuovere l’opzione --force. Se rimuovi l'opzione e il componente aggiuntivo di Amazon EKS deve sovrascrivere la configurazione di un componente aggiuntivo autogestito esistente, la creazione del componente aggiuntivo di Amazon EKS non riesce e viene visualizzato un messaggio di errore per semplificare la soluzione del conflitto. Prima di specificare questa opzione, assicurarsi che il componente aggiuntivo Amazon EKS non gestisca le impostazioni da gestire autonomamente, perché questa opzione le sovrascrive.

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

      Puoi vedere un elenco completo di tutte opzioni disponibili per il comando.

      eksctl create addon --help

      Per ulteriori informazioni sulle opzioni disponibili, consulta Componenti aggiuntivi nella documentazione di eksctl.

Creare un componente aggiuntivo (Console AWS)

  1. Aprire la Console Amazon EKS.

  2. Nel pannello di navigazione a sinistra, seleziona Cluster.

  3. Scegliere il nome del cluster per cui si desidera creare il componente aggiuntivo.

  4. Seleziona la scheda Componenti aggiuntivi.

  5. Scegli Ottieni altri componenti aggiuntivi.

  6. Nella pagina Select add-ons (Seleziona componenti aggiuntivi), scegli i componenti aggiuntivi da aggiungere al tuo cluster. Ѐ possibile scegliere tutti i componenti aggiuntivi Amazon EKS e i componenti aggiuntivi di AWS Marketplace necessari.

    Per i componenti aggiuntivi di AWS Marketplace, il principale IAM che si sta utilizzando per creare il componente aggiuntivo deve disporre delle autorizzazioni per leggere i diritti del componente aggiuntivo dallo Strumento AWS di gestione delle licenze. AWS LicenseManager richiede un ruolo collegato al servizio (SLR) AWSServiceRoleForAWSLicenseManagerRole che consenta alle risorse di AWS di gestire le licenze per tuo conto. L’SLR è un requisito una tantum per singolo account e non sarà necessario creare SLR separati per ciascun componente aggiuntivo o per ciascun cluster. Per ulteriori informazioni sull'assegnazione di autorizzazioni a un principale IAM, consulta Aggiunta e rimozione di autorizzazioni per identità IAM nella Guida per l'utente di IAM.

    Se i componenti aggiuntivi di AWS Marketplace da installare non sono presenti nell’elenco, è possibile fare clic sui numeri di pagina per visualizzare risultati aggiuntivi o effettuare una ricerca nell’apposita barra. Nelle Opzioni di filtro, puoi eseguire una ricerca anche per categoria, fornitore o modello di prezzi e quindi scegliere i componenti aggiuntivi dai risultati della ricerca. Dopo aver selezionato i componenti aggiuntivi da installare, scegliere Avanti.

  7. Nella pagina Configura le impostazioni dei componenti aggiuntivi selezionati, procedi come segue:

    1. Scegli Visualizza le opzioni di abbonamento per aprire il modulo delle opzioni di abbonamento. Consulta le sezioni Dettagli sui prezzi e Note legali, quindi scegli il pulsante Abbonati per continuare.

    2. Per Versione, selezionare la versione da installare. È preferibile la versione contrassegnata come latest, a meno che il singolo componente aggiuntivo da creare non consigli una versione differente. Per determinare se un componente aggiuntivo ha una versione consigliata, consultare la documentazione del componente aggiuntivo da creare. Per un elenco dei componenti aggiuntivi, consultare la pagina Componenti aggiuntivi AWS.

    3. Sono disponibili due opzioni per configurare i ruoli per i componenti aggiuntivi: il ruolo IAM di EKS Pod Identity e i ruoli IAM per gli account di servizio (IRSA). Seguire la procedura adeguata di seguito per l’opzione preferita. Se tutti i componenti aggiuntivi selezionati includono Richiede un abbonamento in Stato, scegliere Avanti. Non è possibile procedere con la configurazione di questi componenti aggiuntivi finché non sarà stato sottoscritto l’abbonamento dopo la creazione del cluster. Per i componenti aggiuntivi che non includono Richiede un abbonamento in Stato:

      1. Per il ruolo IAM di Pod Identity per l’account di servizio, è possibile utilizzare un ruolo IAM di EKS Pod Identity esistente o crearne uno con il pulsante Crea ruolo consigliato. Questo campo indicherà solo le opzioni con la policy di attendibilità adeguata. Se non esiste alcun ruolo da selezionare, non si dispone di un ruolo esistente con una policy di attendibilità corrispondente. Per configurare un ruolo IAM di EKS Pod Identity per gli account di servizio del componente aggiuntivo selezionato, scegliere Crea ruolo consigliato. La procedura guidata per la creazione dei ruoli si apre in una finestra separata. La procedura guidata compilerà automaticamente le informazioni sul ruolo come indicato di seguito. Per ogni componente aggiuntivo in cui si desidera creare il ruolo IAM di EKS Pod Identity, completare i passaggi della procedura guidata IAM come indicato di seguito.

        • Al passaggio Seleziona un’entità attendibile, l’opzione di servizio AWS EKS e il caso d’uso EKS - Pod Identity sono preselezionati e la policy di attendibilità adeguata verrà compilata automaticamente per il componente aggiuntivo. Ad esempio, il ruolo verrà creato con la policy di attendibilità adeguata contenente il principale IAM pods.eks.amazonaws.com, come descritto nella pagina Vantaggi delle associazioni EKS Pod Identity. Scegli Next (Successivo).

        • Al passaggio Aggiungi autorizzazioni, viene preselezionata la policy gestita adeguata per la policy del ruolo per il componente aggiuntivo. Ad esempio, per il componente aggiuntivo CNI di Amazon VPC, il ruolo verrà creato con la policy gestita AmazonEKS_CNI_Policy, come descritto nella pagina Plug-in CNI di Amazon VPC per Kubernetes. Scegli Next (Successivo).

        • Al passaggio Nomina, verifica e crea, in Nome del ruolo, viene inserito automaticamente il nome del ruolo predefinito per il componente aggiuntivo. Ad esempio, per il componente aggiuntivo CNI di Amazon VPC, il ruolo sarà creato con il nome AmazonEKSPodIdentityAmazonVPCCNIRole. In Descrizione, la descrizione predefinita viene compilata automaticamente con la descrizione adeguata per il componente aggiuntivo. Ad esempio, per il componente aggiuntivo CNI di Amazon VPC, il ruolo verrà creato con la descrizione Consente ai pod in esecuzione nel cluster Amazon EKS di accedere alle risorse AWS. In Policy di attendibilità, viene visualizzata la policy di attendibilità compilata per il componente aggiuntivo. Scegli Crea ruolo.

          NOTA: mantenere il nome del ruolo predefinito consente a EKS di preselezionare il ruolo dei componenti aggiuntivi nei nuovi cluster o quando si aggiungono componenti aggiuntivi ai cluster esistenti. È comunque possibile sostituire tale nome e il ruolo sarà disponibile per il componente aggiuntivo in tutti i cluster, ma dovrà essere selezionato manualmente dal menu a discesa.

      2. Per i componenti aggiuntivi che non includono Richiede un abbonamento in Stato e per i quali si desidera configurare i ruoli utilizzando IRSA, consultare la documentazione relativa al componente aggiuntivo da creare per definire una policy IAM e collegarla a un ruolo. Per un elenco dei componenti aggiuntivi, consultare la pagina Componenti aggiuntivi AWS. Per selezionare un ruolo IAM è necessario disporre di un gestore OpenID Connect (OIDC) IAM per il cluster. Per stabilire se ne possiedi uno per il tuo cluster o per crearne uno, consulta Per creare un provider di identità IAM OIDC per il cluster.

      3. Scegli Optional configuration settings (Impostazioni di configurazione facoltative).

      4. Se il componente aggiuntivo richiede una configurazione, inseriscila nella casella Configuration values (Valori di configurazione). Per determinare se il componente aggiuntivo richiede informazioni di configurazione, consultare la documentazione del componente aggiuntivo da creare. Per un elenco dei componenti aggiuntivi, consultare la pagina Componenti aggiuntivi AWS.

      5. Selezionare una delle opzioni disponibili per Metodo di risoluzione dei conflitti. Se si sceglie Sostituisci come Metodo di risoluzione dei conflitti, una o più impostazioni per il componente aggiuntivo esistente possono essere sovrascritte con le impostazioni del componente aggiuntivo Amazon EKS. Se non si abilita questa opzione e c’è un conflitto con le impostazioni esistenti, l’operazione non va a buon fine e viene visualizzato un messaggio di errore per aiutarti a risolvere il conflitto. Prima di scegliere questa opzione, assicurarsi che il componente aggiuntivo Amazon EKS non gestisca le impostazioni che devono essere autogestite.

      6. Se si desidera installare il componente aggiuntivo in un namespace specifico, inserirlo nel campo Spazio dei nomi. Per i componenti aggiuntivi AWS e della community, è possibile definire un namespace Kubernetes personalizzato in cui installare il componente aggiuntivo. Per ulteriori informazioni, consulta Namespace personalizzato per componenti aggiuntivi.

      7. Scegli Next (Successivo).

  8. Nella pagina Rivedi e aggiungi, scegli Crea. Una volta completata l'installazione del componente aggiuntivo, vengono visualizzati i componenti aggiuntivi installati.

  9. Se uno dei componenti aggiuntivi installati richiede una sottoscrizione, completa la procedura seguente:

    1. scegli il pulsante Subscribe (Sottoscrivi) nell'angolo inferiore destro del componente aggiuntivo. Si viene reindirizzati alla pagina del componente aggiuntivo in AWS Marketplace. Leggi le informazioni sul componente aggiuntivo, ad esempio Product Overview (Panoramica del prodotto) e Pricing information (Informazioni sui prezzi).

    2. Seleziona il pulsante Continue to Subscribe (Continua la sottoscrizione) nella parte superiore destra della pagina del componente aggiuntivo.

    3. Leggi i Terms and Conditions (Termini e condizioni). Se li accetti, scegli Accept Terms (Accetta i termini). L'elaborazione della sottoscrizione può richiedere vari minuti. Durante l'elaborazione della sottoscrizione, il pulsante Return to Amazon EKS Console (Torna alla console Amazon EKS) è disattivato.

    4. Al termine dell'elaborazione dell'abbonamento, il pulsante Return to Amazon EKS Console (Torna alla console Amazon EKS) non è più disattivato. Scegli il pulsante per tornare alla scheda Add-ons (Componenti aggiuntivi) della console Amazon EKS per il tuo cluster.

    5. Per il componente aggiuntivo che hai sottoscritto, scegli Remove and reinstall (Rimuovi e reinstalla), quindi scegli Reinstall add-on (Reinstalla componente aggiuntivo). L'installazione del componente aggiuntivo può richiedere vari minuti. Una volta completata l'installazione, puoi configurare il componente aggiuntivo.

Creare un componente aggiuntivo (AWS CLI)

  1. Ѐ necessario avere la versione 2.12.3 o successiva oppure la versione 1.27.160 o successiva dell’Interfaccia della linea di comando AWS (AWS CLI) installata e configurata sul dispositivo o AWS CloudShell. Per verificare la versione attuale, usa aws --version | cut -d / -f2 | cut -d ' ' -f1. I programmi di gestione dei pacchetti, come yum, apt-get o Homebrew per macOS, spesso sono aggiornati a versioni precedenti dell’AWS CLI. Per installare la versione più recente, consulta Installing e Quick configuration with aws configure della Guida per l’utente dell’Interfaccia della linea di comando AWS. La versione della AWS CLI installata in AWS CloudShell potrebbe anche essere precedente di diverse versioni rispetto alla più recente. Per aggiornarla, consultare la pagina Installing AWS CLI to your home directory della Guida per l’utente di AWS CloudShell.

  2. Determina quali componenti aggiuntivi sono disponibili. Puoi vedere tutti i componenti aggiuntivi disponibili, incluso il tipo e l'autore. Ѐ anche possibile visualizzare l’URL dei componenti aggiuntivi disponibili tramite AWS Marketplace. Sostituire 1.33 con la versione del cluster.

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

    Di seguito viene riportato un output di esempio:

    --------------------------------------------------------------------------------------------------------------------------------------------------------- | 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 | | [...] | [...] | [...] | [...] | [...] | +---------------------------------------------------------------+-------------------------------+------------------+--------------+---------------------+

    Il tuo output potrebbe essere diverso. In questo output di esempio, sono disponibili tre diversi componenti aggiuntivi di tipo networking e cinque componenti aggiuntivi con un autore di tipo eks. I componenti aggiuntivi con aws-marketplace nella colonna Owner potrebbero richiedere un abbonamento per poter essere installati. Per ulteriori informazioni sul componente aggiuntivo e per sottoscriverlo, puoi visitare l'URL.

  3. Puoi vedere quali versioni sono disponibili per ogni componente aggiuntivo. Sostituire 1.33 con la versione del cluster, quindi sostituire vpc-cni con il nome di un componente aggiuntivo restituito nel passaggio precedente.

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

    Di seguito viene riportato un output di esempio:

    ------------------------------------------ | 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 | +-----------------+----------------------+

    Per impostazione predefinita, la versione con True nella colonna Defaultversion è la versione con cui viene creato il componente aggiuntivo.

  4. (Facoltativo) Trova le opzioni di configurazione del componente aggiuntivo scelto utilizzando il comando seguente:

    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\"}}}" }

    L'output sarà uno schema JSON standard.

    Di seguito è riportato un esempio di valori di configurazione validi, in formato JSON, che funzionano con lo schema precedente.

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

    Di seguito è riportato un esempio di valori di configurazione validi, in formato YAML, che funzionano con lo schema precedente.

    resources: limits: cpu: 100m
  5. Stabilire se il componente aggiuntivo richiede autorizzazioni IAM. In tal caso, è necessario (1) stabilire se si desidera utilizzare EKS Pod Identity o ruoli IAM per gli account di servizio (IRSA), (2) stabilire l’ARN del ruolo IAM da utilizzare con il componente aggiuntivo e (3) stabilire il nome dell’account di servizio Kubernetes usato dal componente aggiuntivo. Per ulteriori informazioni, consulta Recupero delle informazioni IAM su un componente aggiuntivo di Amazon EKS.

    • Amazon EKS suggerisce di utilizzare EKS Pod Identity, se supportato dal componente aggiuntivo. Ciò richiede che l’agente Pod Identity sia installato nel cluster. Per ulteriori informazioni sull’utilizzo di Pod Identity con i componenti aggiuntivi, consultare la pagina Ruoli IAM per i componenti aggiuntivi di Amazon EKS.

    • Se il componente aggiuntivo o il cluster non sono configurati per EKS Pod Identity, utilizzare IRSA. Confermare che IRSA sia configurato sul cluster.

    • Consultare la documentazione dei componenti aggiuntivi Amazon EKS per stabilire se il componente aggiuntivo richiede le autorizzazioni IAM e il nome dell’account di servizio Kubernetes associato.

      1. Crea un componente aggiuntivo di Amazon EKS. Copia il comando seguente sul tuo dispositivo. Apportare le seguenti modifiche al comando, se necessario, quindi esegui il comando modificato:

    • Sostituisci my-cluster con il nome del tuo cluster.

    • Sostituire vpc-cni con il nome del componente aggiuntivo da creare restituito nell’output del passaggio precedente.

    • Sostituire version-number con la versione da utilizzare restituita nell’output della fase precedente.

    • Per installare il componente aggiuntivo in un namespace Kubernetes personalizzato, aggiungere l’opzione --namespace-config 'namespace=<my-namespace>. Questa opzione è disponibile solo per i componenti aggiuntivi AWS e della community. Per ulteriori informazioni, consulta Namespace personalizzato per componenti aggiuntivi

    • Se il componente aggiuntivo non richiede autorizzazioni IAM, eliminare <service-account-configuration>.

    • Esegui una di queste operazioni:

      • Se il componente aggiuntivo (1) richiede autorizzazioni IAM e (2) il cluster utilizza EKS Pod Identity, sostituire <service-account-configuration> con l’associazione Pod Identity indicata di seguito. Sostituire <service-account-name> con il nome dell’account di servizio utilizzato per il componente aggiuntivo. Sostituire <role-arn> con l’ARN di un ruolo IAM. Il ruolo deve disporre della policy di attendibilità richiesta da EKS Pod Identity.

        --pod-identity-associations 'serviceAccount=<service-account-name>,roleArn=<role-arn>'
      • Se il componente aggiuntivo (1) richiede autorizzazioni IAM e (2) il cluster utilizza IRSA, sostituire <service-account-configuration> con la configurazione IRSA indicata di seguito. Sostituire 111122223333 con l’ID account e role-name con il nome di un ruolo IAM esistente creato. Per istruzioni sulla creazione del ruolo, consultare la documentazione del componente aggiuntivo da creare. Per un elenco dei componenti aggiuntivi, consultare la pagina Componenti aggiuntivi AWS. Per specificare un ruolo per l’account di servizio è necessario disporre di un gestore OpenID Connect (OIDC) IAM per il cluster. Per stabilire se ne possiedi uno per il tuo cluster o per crearne uno, consulta Per creare un provider di identità IAM OIDC per il cluster.

        --service-account-role-arn arn:aws::iam::111122223333:role/role-name
    • Questo comando di esempio sovrascrive l'opzione --configuration-values di qualunque versione autogestita esistente del componente aggiuntivo, se presente. Sostituiscilo con i valori di configurazione desiderati, come una stringa o un file di input. Se non si desidera fornire valori di configurazione, eliminare l’opzione --configuration-values. Se non si desidera che AWS CLI sovrascriva la configurazione di un componente aggiuntivo autogestito esistente, rimuovere l’opzione --resolve-conflicts OVERWRITE. Se rimuovi l'opzione e il componente aggiuntivo di Amazon EKS deve sovrascrivere la configurazione di un componente aggiuntivo autogestito esistente, la creazione del componente aggiuntivo di Amazon EKS non riesce e viene visualizzato un messaggio di errore per semplificare la soluzione del conflitto. Prima di specificare questa opzione, assicurarsi che il componente aggiuntivo Amazon EKS non gestisca le impostazioni da gestire autonomamente, perché questa opzione le sovrascrive.

      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

      Per un elenco completo delle opzioni disponibili, consulta create-addon nella Documentazione di riferimento della riga di comando Amazon EKS. Se il componente aggiuntivo creato include aws-marketplace elencato nella colonna Owner di un passaggio precedente, la creazione potrebbe non riuscire e si potrebbe ricevere un messaggio di errore simile al seguente.

      { "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" } ] } } }

      Se ricevi un errore simile a quello nell'output precedente, visita l'URL nell'output di un passaggio precedente per sottoscrivere il componente aggiuntivo. Dopo la sottoscrizione, esegui nuovamente il comando create-addon.