Gestione dei componenti aggiuntivi di Amazon EKS - Amazon EKS

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Gestione dei componenti aggiuntivi di Amazon EKS

I componenti aggiuntivi di Amazon EKS sono un set selezionato di 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 AWS per funzionare con Amazon EKS.

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

Ti AWS Management Console avvisa quando è disponibile una nuova versione per un componente aggiuntivo Amazon EKS. Avviando semplicemente l'aggiornamento, Amazon EKS aggiorna automaticamente il software del componente aggiuntivo.

Per un elenco dei componenti aggiuntivi disponibili, consulta Componenti aggiuntivi Amazon EKS disponibili da Amazon EKS. Per ulteriori informazioni sulla gestione dei campi di Kubernetes, consulta Gestione dei campi Kubernetes.

Prerequisiti
  • Un cluster Amazon EKS esistente. Per implementarne uno, consulta Guida introduttiva ad Amazon EKS.

  • Se stai creando un componente aggiuntivo che utilizza un account di Kubernetes servizio e un ruolo IAM, devi disporre di un provider AWS Identity and Access Management (IAM) OpenID Connect (OIDC) per il tuo cluster. Per stabilire se ne possiedi uno per il tuo cluster o per crearne uno, consulta Crea un OIDC provider IAM per il tuo cluster.

Creazione di un componente aggiuntivo

Puoi creare un componente aggiuntivo Amazon EKS utilizzandoeksctl, il AWS Management Console, o il AWS CLI. Se il componente aggiuntivo richiede un ruolo IAM, consulta i dettagli del componente aggiuntivo specifico alla pagina Componenti aggiuntivi Amazon EKS disponibili da Amazon EKS per conoscere i dettagli sulla creazione del ruolo.

eksctl
Prerequisito

La versione 0.175.0 o quelle successive dello strumento a riga di comando eksctl deve essere installata sul dispositivo o nella AWS CloudShell. Per l'installazione o l'aggiornamento di eksctl, consulta la sezione Installation nella documentazione di eksctl.

Come creare un componente aggiuntivo di Amazon EKS utilizzando eksctl
  1. Visualizza i nomi dei componenti aggiuntivi disponibili per una versione del cluster. Sostituisci 1.29 con la versione del cluster.

    eksctl utils describe-addon-versions --kubernetes-version 1.29 | 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. Sostituisci 1.29 con la versione del cluster. Sostituisci name-of-addon con il nome del componente aggiuntivo di cui visualizzare le versioni. Il nome deve essere uno dei nomi restituiti nei passaggi precedenti.

    eksctl utils describe-addon-versions --kubernetes-version 1.29 --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",
  3. Stabilisci se il componente aggiuntivo da creare è Amazon EKS o un componente aggiuntivo Marketplace AWS . Marketplace AWS Dispone di componenti aggiuntivi di terze parti che richiedono il completamento di passaggi aggiuntivi per creare il componente aggiuntivo.

    eksctl utils describe-addon-versions --kubernetes-version 1.29 --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. Marketplace AWS 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"

    Puoi trovare ulteriori informazioni sul componente aggiuntivo nella sezione Marketplace AWS Con l'URL restituito. Se il componente aggiuntivo richiede un abbonamento, puoi abbonarti al componente aggiuntivo attraverso Marketplace AWS. Se intendi creare un componente aggiuntivo da Marketplace AWS, il responsabile IAM che stai utilizzando per creare il componente aggiuntivo deve avere l'autorizzazione per creare il ruolo collegato al AWSServiceRoleForAWSLicenseManagerRoleservizio. 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.

  4. 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 cluster.

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

    • Se desideri una versione del componente aggiuntivo precedente all'ultima versione, sostituisci latest con il numero di versione da utilizzare restituito nell'output di un passaggio precedente.

    • Se il componente aggiuntivo utilizza un ruolo dell'account di servizio, sostituisci 111122223333 con l'ID dell'account e sostituisci role-name con il nome del ruolo. Per istruzioni sulla creazione di un ruolo per il tuo account di servizio, consulta la documentazione del componente aggiuntivo che stai creando. Per specificare un ruolo per l'account di servizio è necessario disporre di un provider IAM OpenID Connect (OIDC) per il cluster. Per stabilire se ne possiedi uno per il tuo cluster o per crearne uno, consulta Crea un OIDC provider IAM per il tuo cluster.

      Se il componente aggiuntivo non utilizza un ruolo per l'account di servizio, elimina --service-account-role-arn arn: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 desideri sovrascrivere la configurazione di un componente aggiuntivo autogestito esistente, rimuovi 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, assicurati che il componente aggiuntivo di Amazon EKS non gestisca le impostazioni che devi gestire tu, 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.

AWS Management Console
Per creare un componente aggiuntivo Amazon EKS utilizzando AWS Management Console
  1. Apri la console Amazon EKS all'indirizzo https://console.aws.amazon.com/eks/home#/clusters.

  2. Nel riquadro di navigazione a sinistra, seleziona Cluster, quindi seleziona il nome del cluster per cui creare il componente aggiuntivo.

  3. Seleziona la scheda Componenti aggiuntivi.

  4. Scegli Ottieni altri componenti aggiuntivi.

  5. Scegli i componenti aggiuntivi da aggiungere al tuo cluster. Puoi scegliere tutti i componenti aggiuntivi di Amazon EKS e i componenti aggiuntivi di Marketplace AWS necessari.

    Per Marketplace AWSi componenti aggiuntivi, il responsabile IAM che stai utilizzando per creare il componente aggiuntivo deve disporre delle autorizzazioni per leggere i diritti per il componente aggiuntivo da. AWS LicenseManager AWS LicenseManager richiede un ruolo AWSServiceRoleForAWSLicenseManagerRolecollegato al servizio (SLR) che consente alle AWS risorse di gestire le licenze per tuo conto. L'SLR è un requisito una tantum per singolo account e non dovrai 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 Marketplace AWS da installare non sono elencati, puoi cercare i componenti aggiuntivi disponibili inserendo il testo nella casella di ricerca. 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, scegli Successivo.

  6. Nella pagina Configura le impostazioni dei componenti aggiuntivi selezionati:

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

    • Per Versione, seleziona la versione che desideri installare. È preferibile la versione contrassegnata come latest (più recente), a meno che il singolo componente aggiuntivo che stai creando non consigli una versione differente. Per determinare se un componente aggiuntivo ha una versione consigliata, consulta la documentazione del componente aggiuntivo che stai creando.

    • Se tutti i componenti aggiuntivi selezionati includono Requires subscription (Richiede sottoscrizione) sotto Status (Stato), seleziona Next (Avanti). Non puoi configurare questi componenti aggiuntivi ulteriormente finché non li hai sottoscritti dopo la creazione del cluster. Per i componenti aggiuntivi che non includono Requires subscription (Richiede sottoscrizione) sotto Status (Stato):

      • per Select IAM role (Seleziona ruolo IAM) accetta l'opzione predefinita, a meno che il componente aggiuntivo non richieda autorizzazioni IAM. Se il componente aggiuntivo richiede AWS autorizzazioni, puoi utilizzare il ruolo IAM del nodo (non impostato) o un ruolo esistente che hai creato per l'utilizzo con il componente aggiuntivo. Se non esiste alcun ruolo da selezionare, non disponi ancora di un ruolo. Indipendentemente dall'opzione scelta, consulta la documentazione del componente aggiuntivo che stai creando per creare una policy IAM e associarla a un ruolo. La selezione di un ruolo IAM richiede la disponibilità di un provider IAM OpenID Connect (OIDC) per il tuo cluster. Per stabilire se ne possiedi uno per il tuo cluster o per crearne uno, consulta Crea un OIDC provider IAM per il tuo cluster.

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

        • 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, consulta la documentazione del componente aggiuntivo che stai creando.

        • Seleziona una delle opzioni disponibili per Conflict resolution method (Metodo di risoluzione dei conflitti).

      • Seleziona Successivo.

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

  8. 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. Verrai indirizzato alla pagina del componente aggiuntivo in Marketplace AWS. 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.

AWS CLI
Prerequisito

Versione 2.12.3 o successiva o versione 1.27.160 o successiva di AWS Command Line Interface (AWS CLI) installato e configurato 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 della AWS CLI. Per installare la versione più recente, consulta le sezioni Installazione, aggiornamento e disinstallazione della AWS CLI e Configurazione rapida con aws configure nella Guida per l'utente dell'AWS Command Line Interface . La AWS CLI versione installata in AWS CloudShell potrebbe anche contenere diverse versioni precedenti alla versione più recente. Per aggiornarla, consulta Installazione nella home directory nella Guida AWS CLI per l'AWS CloudShell utente.

Per creare un componente aggiuntivo Amazon EKS utilizzando AWS CLI
  1. Determina quali componenti aggiuntivi sono disponibili. Puoi vedere tutti i componenti aggiuntivi disponibili, incluso il tipo e l'autore. Puoi anche vedere l'URL dei componenti aggiuntivi disponibili tramite Marketplace AWS. Sostituisci 1.29 con la versione del cluster.

    aws eks describe-addon-versions --kubernetes-version 1.29 \ --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 una sottoscrizione per poter essere installati. Per ulteriori informazioni sul componente aggiuntivo e per sottoscriverlo, puoi visitare l'URL.

  2. Puoi vedere quali versioni sono disponibili per ogni componente aggiuntivo. Sostituisci 1.29 con la versione del tuo cluster, quindi sostituisci vpc-cni con il nome del componente aggiuntivo restituito nella fase precedente.

    aws eks describe-addon-versions --kubernetes-version 1.29 --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.

  3. (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    
  4. 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 cluster.

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

    • Sostituisci version-number con il nome del componente aggiuntivo da utilizzare restituito nell'output della fase precedente.

    • Se il componente aggiuntivo utilizza un account di servizio Kubernetes e un ruolo IAM, sostituisci 111122223333 con l'ID del tuo account e role-name con il nome di un ruolo IAM esistente che hai creato. Per istruzioni sulla creazione del ruolo, consulta la documentazione del componente aggiuntivo che stai creando. Per specificare un ruolo dell'account di servizio, devi disporre di un provider IAM OpenID Connect (OIDC) per il tuo cluster. Per stabilire se ne possiedi uno per il tuo cluster o per crearne uno, consulta Crea un OIDC provider IAM per il tuo cluster.

      Se il componente aggiuntivo non utilizza un account di servizio Kubernetes e un ruolo IAM, elimina --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 desideri fornire valori di configurazione, elimina l'opzione --configuration-values. Se non desideri AWS CLI sovrascrivere la configurazione di un componente aggiuntivo autogestito esistente, rimuovi 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, assicurati che il componente aggiuntivo di Amazon EKS non gestisca le impostazioni che devi gestire tu, perché questa opzione le sovrascrive.

    aws eks create-addon --cluster-name my-cluster --addon-name vpc-cni --addon-version version-number \ --service-account-role-arn arn:aws:iam::111122223333:role/role-name --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-role-arn arn:aws:iam::111122223333:role/role-name --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 che hai creato include aws-marketplace elencato nella colonna Owner di un passaggio precedente, la creazione potrebbe non riuscire e potresti 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 Marketplace AWS 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.

Aggiornamento di un componente aggiuntivo

Amazon EKS non aggiorna automaticamente il componente aggiuntivo quando vengono rilasciate nuove versioni o dopo l'aggiornamento del cluster a una nuova versione secondaria di Kubernetes. Per aggiornare un componente aggiuntivo per un cluster esistente, devi avviare l'aggiornamento. Dopo l'avvio dell'aggiornamento, Amazon EKS aggiorna automaticamente il componente aggiuntivo. Prima di aggiornare un componente aggiuntivo, consulta la documentazione attuale del componente aggiuntivo. Per un elenco dei componenti aggiuntivi disponibili, consulta Componenti aggiuntivi Amazon EKS disponibili da Amazon EKS. Se il componente aggiuntivo richiede un ruolo IAM, consulta i dettagli del componente aggiuntivo specifico alla pagina Componenti aggiuntivi Amazon EKS disponibili da Amazon EKS per i dettagli sulla creazione del ruolo.

Puoi aggiornare un componente aggiuntivo Amazon EKS utilizzandoeksctl, il AWS Management Console, o il AWS CLI.

eksctl
Prerequisito

La versione 0.175.0 o quelle successive dello strumento a riga di comando eksctl deve essere installata sul dispositivo o nella AWS CloudShell. Per l'installazione o l'aggiornamento di eksctl, consulta la sezione Installation nella documentazione di eksctl.

Come aggiornare un componente aggiuntivo di Amazon EKS utilizzando eksctl
  1. Determina i componenti aggiuntivi e le versioni dei componenti aggiuntivi installati sul tuo cluster. Sostituisci my-cluster con il nome del cluster.

    eksctl get addon --cluster my-cluster

    Di seguito viene riportato un output di esempio:

    NAME VERSION STATUS ISSUES IAMROLE UPDATE AVAILABLE coredns v1.8.7-eksbuild.2 ACTIVE 0 kube-proxy v1.23.7-eksbuild.1 ACTIVE 0 v1.23.8-eksbuild.2 vpc-cni v1.10.4-eksbuild.1 ACTIVE 0 v1.12.0-eksbuild.1,v1.11.4-eksbuild.1,v1.11.3-eksbuild.1,v1.11.2-eksbuild.1,v1.11.0-eksbuild.1

    L'output potrebbe avere un aspetto diverso in base ai componenti aggiuntivi e alle versioni presenti nel tuo cluster. Nell'output di esempio precedente, due componenti aggiuntivi esistenti nel cluster hanno versioni più recenti disponibili nella colonna UPDATE AVAILABLE.

  2. Aggiorna il componente aggiuntivo.

    1. Copia il comando seguente sul tuo dispositivo. Apporta le seguenti modifiche al comando in base alla necessità:

      • Sostituisci my-cluster con il nome del cluster.

      • region-codeSostituiscilo con Regione AWS quello in cui si trova il cluster.

      • Sostituisci vpc-cni con il nome del componente aggiuntivo da aggiornare restituito nell'output del passaggio precedente.

      • Se desideri aggiornare una versione del componente aggiuntivo precedente all'ultima versione, sostituisci latest con il numero di versione che vuoi utilizzare e che è stato restituito nell'output di un passaggio precedente. Alcuni componenti aggiuntivi includono versioni consigliate. Per ulteriori informazioni, consulta la documentazione del componente aggiuntivo che stai aggiornando.

      • Se il componente aggiuntivo utilizza un account di servizio Kubernetes e un ruolo IAM, sostituisci 111122223333 con l'ID del tuo account e role-name con il nome di un ruolo IAM esistente che hai creato. Per istruzioni sulla creazione del ruolo, consulta la documentazione del componente aggiuntivo che stai creando. Per specificare un ruolo dell'account di servizio, devi disporre di un provider IAM OpenID Connect (OIDC) per il tuo cluster. Per stabilire se ne possiedi uno per il tuo cluster o per crearne uno, consulta Crea un OIDC provider IAM per il tuo cluster.

        Se il componente aggiuntivo non utilizza un account di servizio Kubernetes e un ruolo IAM, elimina la riga serviceAccountRoleARN: arn:aws:iam::111122223333:role/role-name.

      • L'preserveopzione conserva i valori esistenti per il componente aggiuntivo. Se hai impostato valori personalizzati per le impostazioni del componente aggiuntivo e non utilizzi questa opzione, Amazon EKS sovrascrive i tuoi valori con quelli predefiniti. Se utilizzi questa opzione, è preferibile testare eventuali modifiche ai campi e ai valori su un cluster non di produzione prima di aggiornare il componente aggiuntivo sul cluster di produzione. Se modifichi questo valore in overwrite, tutte le impostazioni vengono modificate nei valori predefiniti di Amazon EKS. Se hai impostato valori personalizzati per un'impostazione qualunque, è possibile che vengano sovrascritti con i valori predefiniti di Amazon EKS. Se modifichi questo valore in none, Amazon EKS non modifica il valore di alcuna impostazione, ma l'aggiornamento potrebbe non riuscire. Se l'aggiornamento non riesce, riceverai un messaggio di errore che ti aiuterà a risolvere il conflitto.

        cat >update-addon.yaml <<EOF apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: my-cluster region: region-code addons: - name: vpc-cni version: latest serviceAccountRoleARN: arn:aws:iam::111122223333:role/role-name resolveConflicts: preserve EOF
    2. Esegui il comando modificato per creare il file update-addon.yaml.

    3. Applica il file di configurazione al tuo cluster.

      eksctl update addon -f update-addon.yaml

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

AWS Management Console
Per aggiornare un componente aggiuntivo Amazon EKS utilizzando AWS Management Console
  1. Apri la console Amazon EKS all'indirizzo https://console.aws.amazon.com/eks/home#/clusters.

  2. Nel riquadro di navigazione a sinistra, seleziona Cluster, quindi seleziona il nome del cluster per cui configurare il componente aggiuntivo.

  3. Seleziona la scheda Componenti aggiuntivi.

  4. Seleziona la casella nella parte superiore destra della casella del componente aggiuntivo e scegli Edit (Modifica).

  5. Nella pagina Configure name of addon (Configura il nome del componente aggiuntivo):

    • seleziona la Version (Versione) da utilizzare. Il componente aggiuntivo potrebbe avere una versione raccomandata. Per ulteriori informazioni, consulta la documentazione del componente aggiuntivo che stai aggiornando.

    • Per il ruolo Select IAM, puoi utilizzare il ruolo IAM del nodo (non impostato) o un ruolo esistente che hai creato per l'utilizzo con il componente aggiuntivo. Se non esiste alcun ruolo da selezionare, non disponi ancora di un ruolo. Indipendentemente dall'opzione scelta, consulta la documentazione del componente aggiuntivo che stai creando per creare una policy IAM e associarla a un ruolo. La selezione di un ruolo IAM richiede la disponibilità di un provider IAM OpenID Connect (OIDC) per il tuo cluster. Per stabilire se ne possiedi uno per il tuo cluster o per crearne uno, consulta Crea un OIDC provider IAM per il tuo cluster.

    • Su Code editor inserisci qualsiasi informazione di configurazione specifica del componente aggiuntivo. Per ulteriori informazioni, consulta la documentazione del componente aggiuntivo che stai aggiornando.

    • Per Metodo di risoluzione dei conflitti, seleziona una delle opzioni disponibili. Se hai impostato valori personalizzati per le impostazioni del componente aggiuntivo, è preferibile l'opzione Preserve (Conserva). Se non scegli questa opzione, Amazon EKS sovrascrive i tuoi valori con quelli predefiniti. Se utilizzi questa opzione, è preferibile testare eventuali modifiche ai campi e ai valori su un cluster non di produzione prima di aggiornare il componente aggiuntivo sul cluster di produzione.

  6. Scegli Aggiorna.

AWS CLI
Prerequisito

Versione 2.12.3 o successiva o versione 1.27.160 o successiva di AWS Command Line Interface (AWS CLI) installato e configurato 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 della AWS CLI. Per installare la versione più recente, consulta le sezioni Installazione, aggiornamento e disinstallazione della AWS CLI e Configurazione rapida con aws configure nella Guida per l'utente dell'AWS Command Line Interface . La AWS CLI versione installata in AWS CloudShell potrebbe anche contenere diverse versioni precedenti alla versione più recente. Per aggiornarla, consulta Installazione nella home directory nella Guida AWS CLI per l'AWS CloudShell utente.

Per aggiornare un componente aggiuntivo Amazon EKS utilizzando AWS CLI
  1. Visualizza l'elenco dei componenti aggiuntivi installati. Sostituisci my-cluster con il nome del cluster.

    aws eks list-addons --cluster-name my-cluster

    Di seguito viene riportato un output di esempio:

    { "addons": [ "coredns", "kube-proxy", "vpc-cni" ] }
  2. Visualizza la versione corrente del componente aggiuntivo da aggiornare. Sostituisci my-cluster con il nome del tuo cluster e vpc-cni con il nome del componente aggiuntivo da aggiornare.

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

    Di seguito viene riportato un output di esempio:

    v1.10.4-eksbuild.1
  3. Puoi visualizzare le versioni disponibili del componente aggiuntivo per la versione del tuo cluster. Sostituisci 1.29 con il nome del tuo cluster e vpc-cni con il nome del componente aggiuntivo da aggiornare.

    aws eks describe-addon-versions --kubernetes-version 1.29 --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. Aggiorna il componente aggiuntivo. Copia il comando seguente sul tuo dispositivo. Apporta le seguenti modifiche al comando, se necessario, quindi esegui il comando modificato.

    • Sostituisci my-cluster con il nome del cluster.

    • Sostituisci vpc-cni con il nome del componente aggiuntivo da aggiornare che è stato restituito nell'output di un passaggio precedente.

    • Sostituisci version-number con la versione a cui eseguire l'aggiornamento restituita nell'output del passaggio precedente. Alcuni componenti aggiuntivi includono versioni consigliate. Per ulteriori informazioni, consulta la documentazione del componente aggiuntivo che stai aggiornando.

    • Se il componente aggiuntivo utilizza un account di servizio Kubernetes e un ruolo IAM, sostituisci 111122223333 con l'ID del tuo account e role-name con il nome di un ruolo IAM esistente che hai creato. Per istruzioni sulla creazione del ruolo, consulta la documentazione del componente aggiuntivo che stai creando. Per specificare un ruolo dell'account di servizio, devi disporre di un provider IAM OpenID Connect (OIDC) per il tuo cluster. Per stabilire se ne possiedi uno per il tuo cluster o per crearne uno, consulta Crea un OIDC provider IAM per il tuo cluster.

      Se il componente aggiuntivo non utilizza un account di servizio Kubernetes e un ruolo IAM, elimina la riga serviceAccountRoleARN: arn:aws:iam::111122223333:role/role-name.

    • L'opzione --resolve-conflicts PRESERVE (CONSERVA) mantiene i valori esistenti per il componente aggiuntivo. Se hai impostato valori personalizzati per le impostazioni del componente aggiuntivo e non utilizzi questa opzione, Amazon EKS sovrascrive i tuoi valori con quelli predefiniti. Se utilizzi questa opzione, è preferibile testare eventuali modifiche ai campi e ai valori su un cluster non di produzione prima di aggiornare il componente aggiuntivo sul cluster di produzione. Se modifichi questo valore in overwrite, tutte le impostazioni vengono modificate nei valori predefiniti di Amazon EKS. Se hai impostato valori personalizzati per un'impostazione qualunque, è possibile che vengano sovrascritti con i valori predefiniti di Amazon EKS. Se modifichi questo valore in none, Amazon EKS non modifica il valore di alcuna impostazione, ma l'aggiornamento potrebbe non riuscire. Se l'aggiornamento non riesce, riceverai un messaggio di errore che ti aiuterà a risolvere il conflitto.

    • Se desideri rimuovere tutte le configurazioni personalizzate, esegui l'aggiornamento utilizzando l'opzione --configuration-values '{}'. In tal modo, verranno ripristinati i valori predefiniti di tutte le configurazioni personalizzate. Se non desideri modificare la configurazione personalizzata, non fornire il flag --configuration-values. Per modificare una configurazione personalizzata, sostituisci {} con i nuovi parametri. Per visualizzare un elenco di parametri, consulta la fase Visualizzazione dello schema di configurazione nella sezione Creazione di un componente aggiuntivo.

    aws eks update-addon --cluster-name my-cluster --addon-name vpc-cni --addon-version version-number \ --service-account-role-arn arn:aws:iam::111122223333:role/role-name --configuration-values '{}' --resolve-conflicts PRESERVE
  5. Controlla lo stato dell'aggiornamento. Sostituisci my-cluster con il nome del tuo cluster e vpc-cni con il nome del componente aggiuntivo da aggiornare.

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

    Di seguito viene riportato un output di esempio:

    { "addon": { "addonName": "vpc-cni", "clusterName": "my-cluster", "status": "UPDATING", [...]

    L'aggiornamento è completo quando lo stato è ACTIVE.

Aggiornamento di un componente aggiuntivo

Quando elimini un componente aggiuntivo di Amazon EKS:

  • non sono previste interruzioni per la funzionalità fornita dal componente aggiuntivo.

  • Se al componente aggiuntivo è associato un ruolo IAM, il ruolo IAM non viene rimosso.

  • Amazon EKS interrompe la gestione delle impostazioni per il componente aggiuntivo.

  • La console smette di segnalarti la disponibilità di nuove versioni.

  • Non puoi aggiornare il componente aggiuntivo utilizzando AWS strumenti o API.

  • Puoi scegliere di lasciare il software del componente aggiuntivo nel tuo cluster in modo da poterlo gestire autonomamente, oppure puoi rimuoverlo. È opportuno rimuovere il software del componente aggiuntivo dal tuo cluster se non esistono risorse sul cluster che dipendono dalla funzionalità fornita dal componente aggiuntivo.

Puoi eliminare un componente aggiuntivo di Amazon EKS dal cluster utilizzando eksctl, la AWS Management Console o la AWS CLI.

eksctl
Prerequisito

La versione 0.175.0 o quelle successive dello strumento a riga di comando eksctl deve essere installata sul dispositivo o nella AWS CloudShell. Per l'installazione o l'aggiornamento di eksctl, consulta la sezione Installation nella documentazione di eksctl.

Come eliminare un componente aggiuntivo di Amazon EKS utilizzando eksctl
  1. Determina i componenti aggiuntivi installati sul tuo cluster. Sostituisci my-cluster con il nome del cluster.

    eksctl get addon --cluster my-cluster

    Di seguito viene riportato un output di esempio:

    NAME VERSION STATUS ISSUES IAMROLE UPDATE AVAILABLE coredns v1.8.7-eksbuild.2 ACTIVE 0 kube-proxy v1.23.7-eksbuild.1 ACTIVE 0 vpc-cni v1.10.4-eksbuild.1 ACTIVE 0 [...]

    L'output potrebbe variare a seconda dei componenti aggiuntivi e delle versioni presenti sul tuo cluster.

  2. Elimina il componente aggiuntivo. Sostituisci my-cluster con il nome del cluster e name-of-add-on con il nome del componente aggiuntivo da rimuovere restituito nell'output del passaggio precedente. Se rimuovi l'opzione --preserve, oltre al fatto che Amazon EKS non gestisce più il componente aggiuntivo, il software del componente aggiuntivo viene rimosso dal tuo cluster.

    eksctl delete addon --cluster my-cluster --name name-of-addon --preserve
AWS Management Console
Per eliminare un componente aggiuntivo Amazon EKS utilizzando AWS Management Console
  1. Apri la console Amazon EKS all'indirizzo https://console.aws.amazon.com/eks/home#/clusters.

  2. Nel riquadro di navigazione a sinistra, seleziona Cluster, quindi seleziona il nome del cluster per cui rimuovere il componente aggiuntivo di Amazon EKS.

  3. Seleziona la scheda Componenti aggiuntivi.

  4. Seleziona la casella di controllo nella parte superiore destra della casella del componente aggiuntivo e scegli Remove (Rimuovi). Seleziona Preserve on the cluster (Conserva sul cluster) se desideri che Amazon EKS interrompa la gestione delle impostazioni per il componente aggiuntivo, ma desideri mantenere il software del componente aggiuntivo sul tuo cluster in modo da poter gestire autonomamente tutte le impostazioni del componente aggiuntivo. Digita il nome del componente aggiuntivo e seleziona Remove (Rimuovi).

AWS CLI
Prerequisito

La versione 0.175.0 o quelle successive dello strumento a riga di comando eksctl deve essere installata sul dispositivo o nella AWS CloudShell. Per l'installazione o l'aggiornamento di eksctl, consulta la sezione Installation nella documentazione di eksctl.

Per eliminare un componente aggiuntivo Amazon EKS utilizzando AWS CLI
  1. Visualizza l'elenco dei componenti aggiuntivi installati. Sostituisci my-cluster con il nome del cluster.

    aws eks list-addons --cluster-name my-cluster

    Di seguito viene riportato un output di esempio:

    { "addons": [ "coredns", "kube-proxy", "vpc-cni", "name-of-addon" ] }
  2. Elimina il componente aggiuntivo installato. Sostituisci my-cluster con il nome del tuo cluster e name-of-add-on con il nome del componente aggiuntivo da rimuovere. La rimozione di --preserve rimuove il software del componente aggiuntivo dal cluster.

    aws eks delete-addon --cluster-name my-cluster --addon-name name-of-addon --preserve

    Di seguito è riportato un output di esempio abbreviato.

    { "addon": { "addonName": "name-of-add-on", "clusterName": "my-cluster", "status": "DELETING", [...]
  3. Controlla lo stato dell'eliminazione. Sostituisci my-cluster con il nome del tuo cluster e name-of-addon con il nome del componente aggiuntivo da rimuovere.

    aws eks describe-addon --cluster-name my-cluster --addon-name name-of-addon

    Di seguito è riportato l'output di esempio dopo l'eliminazione del componente.

    An error occurred (ResourceNotFoundException) when calling the DescribeAddon operation: No addon: name-of-addon found in cluster: my-cluster

Recupera la compatibilità delle versioni del componente aggiuntivo

Utilizza l'describe-addon-verisionsAPI per elencare le versioni disponibili dei componenti aggiuntivi EKS e le versioni di Kubernetes supportate da ciascuna versione del componente aggiuntivo.

Recupera la compatibilità delle versioni del componente aggiuntivo ()AWS CLI
  1. Verifica che AWS CLI sia installato e funzionante con. aws sts get-caller-identity Se questo comando non funziona, scopri come iniziare con AWS CLI.

  2. Determina il nome del componente aggiuntivo per il quale desideri recuperare le informazioni sulla compatibilità delle versioni, ad esempio. amazon-cloudwatch-observability

  3. Determina la versione Kubernetes del tuo cluster, ad esempio. 1.28

  4. Usa il AWS CLI per recuperare le versioni del componente aggiuntivo compatibili con la versione Kubernetes del tuo cluster.

    aws eks describe-addon-versions --addon-name amazon-cloudwatch-observability --kubernetes-version 1.29

    Di seguito viene riportato un output di esempio:

    { "addons": [ { "addonName": "amazon-cloudwatch-observability", "type": "observability", "addonVersions": [ { "addonVersion": "v1.5.0-eksbuild.1", "architecture": [ "amd64", "arm64" ], "compatibilities": [ { "clusterVersion": "1.28", "platformVersions": [ "*" ], "defaultVersion": true } ], [...]

    Questo output mostra che la versione del componente aggiuntivo v1.5.0-eksbuild.1 è compatibile con la versione del cluster Kubernetes. 1.28