建立 Amazon EKS 附加元件 - Amazon EKS

協助改進此頁面

若要為本使用者指南貢獻內容,請點選每個頁面右側面板中的在 GitHub 上編輯此頁面連結。

建立 Amazon EKS 附加元件

Amazon EKS 附加元件是 Amazon EKS 叢集彙整的附加元件軟體。所有 Amazon EKS 附加元件:

  • 包括最新的安全性修補程式和錯誤修正。

  • 經 AWS 驗證可與 Amazon EKS 搭配使用。

  • 減少管理附加元件軟體所需的工作量。

您可以使用 eksctl、AWS 管理主控台 或 AWS CLI 建立 Amazon EKS 附加元件。如果附加元件需要 IAM 角色,則請參閱 Amazon EKS 附加元件中特定附加元件的詳細資訊,以了解有關建立角色的詳細資訊。

先決條件

請完成以下操作再建立附加元件:

程序

您可以使用 eksctl、AWS 管理主控台 或 AWS CLI 建立 Amazon EKS 附加元件。如果附加元件需要 IAM 角色,則請參閱 AWS 中可用的 Amazon EKS 附加元件中的特定附加元件相關詳細資訊,了解有關建立角色的詳細資訊。

建立附加元件 (eksctl)

  1. 檢視叢集版本可用附加元件的名稱。使用您叢集的版本取代 1.33

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

    範例輸出如下。

    "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. 檢視您想要建立之附加元件的可用版本。使用您叢集的版本取代 1.33。請使用您想要檢視其版本之附加元件的名稱取代 name-of-addon。名稱必須是之前步驟中傳回的其中一個名稱。

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

    下列輸出是針對名為 vpc-cni 的附加元件傳回的範例。您可以看到附加元件有數個可用版本。

    "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. 判斷您要建立的附加元件是 Amazon EKS 還是 AWS Marketplace 附加元件。AWS Marketplace 具有第三方附加元件,需要您完成其他步驟才能建立附加元件。

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

      如果沒有傳回輸出,則該附加元件是 Amazon EKS。如果傳回輸出,則該附加元件是 AWS Marketplace 附加元件。下列輸出適用於名為 teleport_teleport 的附加元件。

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

      您可以透過傳回的 URL 了解有關 AWS Marketplace 中附加元件的詳細資訊。如果附加元件需要訂閱,您可以透過 AWS Marketplace 訂閱附加元件。如果您要從 AWS Marketplace 建立附加元件,您用來建立附加元件的 IAM 主體必須具有建立 AWSServiceRoleForAWSLicenseManagerRole 服務連結角色的許可。如需有關將許可指派給 IAM 實體的詳細資訊,請參閱《IAM 使用者指南》中的新增和移除 IAM 身分許可

  3. 建立 Amazon EKS 附加元件。複製命令並取代 user-data,如下所示:

    • 使用您叢集的名稱取代 my-cluster

    • 使用您要建立之附加元件的名稱取代 name-of-addon

    • 如果您想要比最新版本更早的附加元件版本,請使用您要使用的上一步輸出中傳回的版本編號取代最新版本

    • 如果附加元件使用服務帳戶角色,請使用您的帳戶 ID 取代 111122223333,並使用角色名稱取代 role-name。如需為您的服務帳戶建立角色的說明,請參閱您所建立之附加元件的文件。若要獲取附加元件清單,請參閱 AWS 附加元件。若要指定服務帳戶角色,您的叢集需要具有 IAM OpenID Connect (OIDC) 提供者。若要判定您的叢集是否已經擁有一個提供者,或是要建立一個提供者,請參閱 為您的叢集建立 IAM OIDC 身分提供者

      如果附加元件未使用服務帳戶角色,請刪除 --service-account-role-arnarn:aws:iam::111122223333:role/role-name

    • 此範例命令會覆寫任何現有自我管理附加元件版本的組態 (如果有的話)。如果您不想覆寫現有自我管理附加元件的組態,請移除 --force 選項。如果您移除該選項,並且 Amazon EKS 附加元件需要覆蓋現有自我管理附加元件的組態,則建立 Amazon EKS 附加元件的操作會失敗並會出現一條錯誤訊息,以幫助您解決衝突。指定此選項之前,請確定 Amazon EKS 附加元件未管理您需要管理的設定,因為這些設定會被此選項覆寫。

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

      您可以查看該命令所有可用選項的清單。

      eksctl create addon --help

      如需有關可用選項的詳細資訊,請參閱 eksctl 文件中的 Addons (附加元件)。

建立附加元件 (AWS 主控台)

  1. 開啟 Amazon EKS 主控台

  2. 在左側導覽窗格中選擇叢集

  3. 選擇您想要建立附加元件的叢集名稱。

  4. 選擇附加元件索引標籤。

  5. 選擇取得更多附加元件

  6. Select add-ons (選取附加元件) 頁面上,選擇您要新增至叢集的附加元件。您可以根據需要新增任意多個 Amazon EKS 附加元件AWS Marketplace 附加元件

    針對 AWS Marketplace 附加元件,您用來建立附加元件的 IAM 主體必須具有從 AWS LicenseManager 讀取附加元件權利的許可。AWSLicenseManager 需要 AWSServiceRoleForAWSLicenseManagerRole 服務連結角色 (SLR),讓 AWS 資源可以代表您管理授權。SLR 是每個帳戶的一次性要求,您不必為每個附加元件或每個叢集建立單獨的 SLR。如需有關將許可指派給 IAM 主體的詳細資訊,請參閱《IAM 使用者指南》中的新增和移除 IAM 身分許可

    如果未列出您要安裝的 AWS Marketplace 附加元件,則可以點選頁碼以檢視其他頁面結果,或在搜尋方框中搜尋。您也可以在篩選選項中,依類別廠商定價模式搜尋,然後從搜尋結果中選擇附加元件。選取您要安裝的附加元件後,請選擇 Next (下一步)。

  7. 設定選取的附加元件設定頁面上,執行以下操作:

    1. 選擇檢視訂閱選項即可開啟訂閱選項表單。檢閱定價詳細資料法律區段,然後選擇訂閱按鈕以繼續。

    2. 針對版本,選取您想要安裝的版本。除非您建立的個別附加元件建議使用不同的版本,否則我們建議您使用標記為最新的版本。若要判斷附加元件是否有建議的版本,請參閱您所建立之附加元件的文件。若要獲取附加元件清單,請參閱 AWS 附加元件

    3. 您可使用兩個用於設定附加元件角色的選項:EKS Pod 身分識別 IAM 角色及服務帳戶 (IRSA) 的 IAM 角色。根據您喜好的選項,遵循下列適當步驟。如果您選取的所有附加元件在狀態下都有需要訂閱,請選擇下一步。在您建立叢集之後訂閱這些附加元件之前,您無法進一步設定這些附加元件。針對狀態下沒有需要訂閱的附加元件,請執行以下操作:

      1. 若是服務帳戶的 Pod 身分識別 IAM 角色,您可使用現有的 EKS Pod 身分識別 IAM 角色,或是使用建立建議的角色按鈕來建立一個。此欄位僅提供包含適當信任政策的選項。若沒有可選取的角色,則表示您沒有包含相符信任政策的現有角色。如需針對所選附加元件的服務帳戶設定 EKS Pod 身分識別 IAM 角色,則選擇建立建議的角色。角色建立精靈會在單獨的視窗中開啟。精靈會自動填入如下所示角色資訊。針對您想要建立 EKS Pod 身分識別 IAM 角色的每個附加元件,完成如下所示 IAM 精靈中的步驟。

        • 選取可信實體步驟中,會預先選取針對 EKS 的 AWS 服務選項,以及針對 EKS - Pod 身分識別的使用案例,並且將會自動填入適用於附加元件的適當信任政策。例如,將會如 EKS Pod 身分識別的優勢 中詳述,透過包含 pods.eks.amazonaws.com IAM Principal 的適當信任政策來建立角色。選擇下一步

        • 新增許可步驟中,將會針對附加元件預先選取適用於該角色政策的適當受管政策。舉例來說,針對 Amazon VPC CNI 附加元件,將會透過如 Kubernetes 專用 Amazon VPC CNI 外掛程式 中詳述的受管政策 AmazonEKS_CNI_Policy 來建立角色。選擇下一步

        • 命名、檢閱及建立步驟中,角色名稱會自動填入附加元件的預設角色名稱。舉例來說,針對 Amazon VPC CNI 附加元件,將會使用名稱 AmazonEKSPodIdentityAmazonVPCCNIRole 來建立角色。在描述中,預設描述會自動填入附加元件的適當描述。舉例來說,針對 Amazon VPC CNI 附加元件,將會使用描述允許在 Amazon EKS 叢集中執行的 Pod 來建立角色,以便存取 AWS 資源。在信任政策中,檢視針對附加元件填入的信任政策。選擇建立角色

          注意:保留預設角色名稱,能夠讓 EKS 在新叢集中或新增附加元件至現有叢集時,預先選取附加元件的角色。您仍可覆寫此名稱,並且可在叢集的附加元件使用該角色,但需要從下拉式選單中手動選取該角色。

      2. 若要了解狀態項下沒有需要訂閱選項的附加元件,以及您想要使用 IRSA 設定角色的位置,請參閱您要建立的附加元件相關文件,以便建立 IAM 政策並與角色連接。若要獲取附加元件清單,請參閱 AWS 附加元件。若要選取 IAM 角色,您的叢集需要具有 IAM OpenID Connect (OIDC) 提供者。若要判定您的叢集是否已經擁有一個提供者,或是要建立一個提供者,請參閱 為您的叢集建立 IAM OIDC 身分提供者

      3. 選擇 Optional configuration settings (選用組態設定)。

      4. 如果附加元件需要組態,請在 Configuration values (組態值) 方塊中輸入。若要判斷附加元件是否需要組態資訊,請參閱您所建立之附加元件的文件。若要獲取附加元件清單,請參閱 AWS 附加元件

      5. 對於衝突解決方法,請選取其中一個可用選項。對於衝突解決方法,如果您選擇覆寫,就可以使用 Amazon EKS 附加元件的設定來覆寫現有附加元件的一種或多種設定。若未啟用此選項,而且有設定與現有設定發生衝突,則操作會失敗。您可以使用產生的錯誤訊息對此衝突進行疑難排解。在選擇此選項之前,請確認 Amazon EKS 附加元件未管理您需要自我管理的設定。

      6. 如果您想要將附加元件安裝到特定命名空間,在命名空間欄位中輸入附加元件。對於 AWS 和社群附加元件,可以定義要安裝附加元件的自訂 Kubernetes 命名空間。如需詳細資訊,請參閱 附加元件的自訂命名空間

      7. 選擇下一步

  8. 檢閱並新增頁面上,選擇建立。附加元件安裝完成後,您會看到已安裝的附加元件。

  9. 如果您安裝的任何附加元件需要訂閱,請完成下列步驟:

    1. 選擇附加元件右下角的 Subscribe (訂閱) 按鈕。系統將帶您前往 AWS Marketplace 中附加元件的頁面。請閱讀附加元件的相關資訊,例如其產品概觀定價資訊

    2. 選取附加元件頁面右上方的 Continue to Subscribe (繼續訂閱) 按鈕。

    3. 請完整閱讀條款與條件。如果您同意,請選擇 Accept Terms (接受條款)。處理訂閱可能需要幾分鐘的時間。訂閱正在處理時,Return to Amazon EKS Console (返回至 Amazon EKS 主控台) 按鈕會呈現灰色。

    4. 訂閱完成處理後,Return to Amazon EKS Console (返回至 Amazon EKS 主控台) 按鈕將不再呈現灰色。選擇按鈕以返回叢集的 Amazon EKS 主控台 Add-ons (附加元件) 索引標籤。

    5. 針對您訂閱的附加元件,請選擇 Remove and reinstall (移除後重新安裝),然後選擇 Reinstall add-on (重新安裝附加元件)。安裝附加元件可能需要幾分鐘時間。安裝完成後,您可以設定附加元件。

建立附加元件 (AWS CLI)

  1. 您需要在裝置或 AWS CloudShell 上安裝和設定 AWS 命令列介面 (AWS CLI) 2.12.3 版或更新版本,或是 1.27.160 版或更新版本。若要檢查您目前的版本,請使用 aws --version | cut -d / -f2 | cut -d ' ' -f1。如 yumapt-get 或適用於 macOS 的 Homebrew 等套件管理工具通常比最新版本的 AWS CLI 落後數個版本之多。若要安裝最新版本,請參閱《AWS 命令列介面使用者指南》中的安裝使用 aws configure 的快速組態。AWS CloudShell 中安裝的 AWS CLI 版本也可能比最新版本落後數個版本。若要更新,請參閱《AWS CloudShell 使用者指南》中的安裝 AWS CLI 至您的主目錄

  2. 判斷有哪些附加元件可用。您可以查看所有可用的附加元件、其類型及其發佈者。您還可以透過 AWS Marketplace 查看可用附加元件的 URL。使用您叢集的版本取代 1.33

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

    範例輸出如下。

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

    您的輸出可能不同。在此範例輸出中,有三種不同 networking 類型的附加元件可用,以及五個具有 eks 類型發佈者的附加元件。Owner 欄位中具有 aws-marketplace 的附加元件可能需要訂閱才能安裝它們。您可以造訪 URL 以深入了解附加元件並訂閱該附加元件。

  3. 您可以查看每個附加元件可用的版本。使用您的叢集版本取代 1.33,並使用上一步傳回的附加元件名稱取代 vpc-cni

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

    範例輸出如下。

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

    Defaultversion 欄位中具有 True 的版本在預設情況下是用來建立附加元件的版本。

  4. (選用) 執行下列命令,尋找您所選附加元件的組態選項:

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

    輸出是標準的 JSON 結構描述。

    以下是適用於上述結構描述的有效組態值 (以 JSON 格式) 範例。

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

    以下是適用於上述結構描述的有效組態值 (以 YAML 格式) 範例。

    resources: limits: cpu: 100m
  5. 確定附加元件是否需要 IAM 許可。若是如此,您需要 (1) 確定要使用 EKS Pod 身分識別還是服務帳戶的 IAM 角色 (IRSA),(2) 確定用於附加元件的 IAM 角色 ARN,以及 (3) 確定附加元件使用的 Kubernetes 服務帳戶名稱。如需詳細資訊,請參閱 擷取 Amazon EKS 附加元件的相關 IAM 資訊

    • 如果附加元件支援,Amazon EKS 建議使用 EKS Pod 身分識別。這需要您的叢集上已安裝 Pod 身分識別代理程式。如需搭配附加元件使用 Pod 身分識別的詳細資訊,請參閱 Amazon EKS 附加元件的 IAM 角色

    • 如果附加元件或您的叢集未設定用於 EKS Pod 身分識別,請使用 IRSA。確認您的叢集已設定 IRSA。

    • 檢閱 Amazon EKS 附加元件文件以確定附加元件是否需要 IAM 許可及相關聯的 Kubernetes 服務帳戶名稱。

      1. 建立 Amazon EKS 附加元件。將隨後的命令複製到您的裝置。視需要對命令進行下列修改,然後執行修改後的命令:

    • 使用您叢集的名稱取代 my-cluster

    • 使用您想要建立之上一步輸出中傳回的附加元件名稱取代 vpc-cni

    • 使用您想要使用之上一步輸出中傳回的版本取代 version-number

    • 如果您想要將附加元件安裝到自訂 Kubernetes 命名空間,請新增 --namespace-config 'namespace=<my-namespace> 選項。此選項僅適用於 AWS 和社群附加元件。如需詳細資訊,請參閱附加元件的自訂命名空間

    • 如果附加元件不需要 IAM 許可,則刪除 <service-account-configuration>

    • 執行以下任意一項:

      • 如果附加元件 (1) 需要 IAM 許可,且 (2) 您的叢集使用 EKS Pod 身分識別,請將 <service-account-configuration> 取代為以下 Pod 身分識別關聯。將 <service-account-name> 取代為附加元件使用的服務帳戶名稱。將 <role-arn> 取代為 IAM 角色的 ARN。該角色必須具有 EKS Pod 身分識別所需的信任政策。

        --pod-identity-associations 'serviceAccount=<service-account-name>,roleArn=<role-arn>'
      • 如果附加元件 (1) 需要 IAM 許可,且 (2) 您的叢集使用 IRSA,請將 <service-account-configuration> 取代為以下 IRSA 組態。使用帳戶 ID 取代 111122223333,並且使用所建立現有 IAM 角色的名稱取代 role-name。如需建立角色的說明,請參閱您所建立之附加元件的文件。若要獲取附加元件清單,請參閱 AWS 附加元件。若要指定服務帳戶角色,您的叢集需要具有 IAM OpenID Connect (OIDC) 提供者。若要判定您的叢集是否已經擁有一個提供者,或是要建立一個提供者,請參閱 為您的叢集建立 IAM OIDC 身分提供者

        --service-account-role-arn arn:aws::iam::111122223333:role/role-name
    • 這些範例命令會覆寫任何現有自我管理附加元件版本的 --configuration-values 選項 (如果有的話)。將其取代為所需的組態值,例如字串或檔案輸入。如果您不想提供組態值,請刪除 --configuration-values 選項。如果您不想要 AWS CLI 覆寫現有自我管理附加元件的組態,請移除 --resolve-conflicts OVERWRITE 選項。如果您移除該選項,並且 Amazon EKS 附加元件需要覆蓋現有自我管理附加元件的組態,則建立 Amazon EKS 附加元件的操作會失敗並會出現一條錯誤訊息,以幫助您解決衝突。指定此選項之前,請確定 Amazon EKS 附加元件未管理您需要管理的設定,因為這些設定會被此選項覆寫。

      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

      如需可用選項的完整清單,請參閱 Amazon EKS Command Line Reference (《Amazon EKS 命令列參考》) 中的 create-addon 。如果您建立的附加元件有 aws-marketplace 列在上一步的 Owner 欄位中,則建立操作可能會失敗,而且您可能會收到類似下列錯誤的錯誤訊息。

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

      如果您收到類似上一個輸出中之錯誤的錯誤,請造訪上一步輸出中的 URL,以訂閱附加元件。訂閱後,再次執行 create-addon 命令。