View a markdown version of this page

Amazon EKS アドオンを作成する - Amazon EKS

このページの改善にご協力ください

このユーザーガイドに貢献するには、すべてのページの右側のペインにある「GitHub でこのページを編集する」リンクを選択してください。

Amazon EKS アドオンを作成する

Amazon EKS アドオンはAmazon EKS クラスター用のアドオンソフトウェアです。すべての Amazon EKS アドオン:

  • 最新のセキュリティパッチやバグ修正が含まれています。

  • AWS によって Amazon EKS で動作することが検証されています。

  • アドオンソフトウェアの管理に必要な作業量を削減します。

Amazon EKS アドオンは eksctl、AWS マネジメントコンソール、AWS CLI を使用して作成できます。アドオンに IAM ロールが必要な場合、ロールの作成の詳細については Amazon EKS アドオンの特定のア ドオンの詳細を参照してください。

前提条件

アドオンを作成する前に、次を完了します:

手順

Amazon EKS アドオンは eksctl、AWS マネジメントコンソール、AWS CLI を使用して作成できます。アドオンに IAM ロールが必要な場合、ロールの作成の詳細については、「使用可能な AWS の Amazon EKS アドオン」の特定のアドオンの詳細を参照してください。

アドオンの作成 (eksctl)

  1. クラスターバージョンで利用可能なアドオンの名前を表示します。1.36 をお持ちのクラスターのバージョンに置き換えます。

    eksctl utils describe-addon-versions --kubernetes-version 1.36 | 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.36 をお持ちのクラスターのバージョンに置き換えます。name-of-addon を表示するバージョンのアドオン名に置き換えます。名前は前のステップで返された名前のいずれかである必要があります。

    eksctl utils describe-addon-versions --kubernetes-version 1.36 --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.36 --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 の部分は自分のクラスター名に置き換えます。

    • アドオン名を作成するアドオンの名前に置き換えます。

    • 最新バージョンよりも前のバージョンのアドオンが必要な場合、最新を使用する前のステップの出力で返されたバージョン番号に置き換えます。

    • アドオンがサービスアカウントロールを使用している場合、111122223333 をアカウント ID に置き換え、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 ドキュメントの「アドオン」を参照してください。

アドオンの作成 (AWS コンソール)

  1. Amazon EKS コンソールを開きます。

  2. 左のナビゲーションペインで [クラスター] を選択します。

  3. アドオンを作成するクラスターの名前を選択してください。

  4. [アドオン] タブを選択してください。

  5. [その他のアドオンを入手] を選択してください。

  6. [アドオンの選択] ページで、クラスターに追加するアドオンを選択してください。[Amazon EKS アドオン][AWS Marketplace アドオン] は必要な数だけ追加できます。

    AWS Marketplace アドオンの場合、アドオンを作成するために使用する IAM プリンシパルにはAWS ライセンスマネージャーからアドオンの資格を読み取る許可が必要です。AWSライセンスマネージャー はユーザーに代わってライセンスを管理する AWS リソースを許可する AWSServiceRoleForAWSLicenseManagerRole のサービスリンクロール (SLR が必要になります。SLR はアカウントごとに 1 回限りの要件であり、アドオンやクラスターごとに別々の SLR を作成する必要はありません。IAM プリンシパルへの許可の割り当ての詳細については、IAM ユーザーガイドの「IAM ID のアクセス許可の追加および削除」を参照してください。

    インストールする [AWS Marketplace アドオン] がリストされていない場合は、ページ番号を選択して追加のページ結果を表示するか、または検索ボックスで検索できます。[フィルタリング] オプションで、[カテゴリ][ベンダー]、または [料金モデル] によってフィルタリングして、検索結果からアドオンを選択することもできます。インストールするアドオンを選択したら、[次へ] を選択してください。

  7. [選択したアドオンセッティングの設定] ページで、次の操作を行います:

    1. [サブスクリプションオプションを表示] を選択し、[サブスクリプションのオプション] フォームを開きます。[料金の詳細][法務] のセクションを確認し、[登録] ボタンを選択して続行します。

    2. [バージョン] で、インストールするバージョンを選択してください。作成する個々のアドオンが別のバージョンを推奨している場合を除き、[最新] と表示されたバージョンをお勧めします。アドオンに推奨バージョンがあるかどうかを確認するには作成しているアドオンのドキュメントを参照してください。アドオンのリストについては、AWS アドオン を参照してください。

    3. アドオンのロールを設定するには EKS Pod Identity の IAM ロールおよびサービスアカウント用の IAM ロール (IRSA) の 2 つのオプションがあります。希望するオプションについては以下の適切なステップに従います。選択したすべてのアドオンの [ステータス][サブスクリプションが必要] と表示されている場合、[次へ] を選択してください。クラスターが作成された後にサブスクライブするまで、それ以上これらのアドオンを設定することはできません。[ステータス][サブスクリプションが必要] と表示されていないアドオンの場合、次を実行してください:

      1. [サービスアカウント用の Pod Identity IAM ロール] で、既存の EKS Pod Identity IAM ロールを使用するか、または [推奨ロールを作成] ボタンを使用して EKS Pod Identity IAM ロールを作成できます。このフィールドには適切な信頼ポリシーを持つオプションのみが表示されます。選択するロールがない場合は一致する信頼ポリシーを持つ既存のロールが存在しないことになります。選択したアドオンのサービスアカウント用の EKS Pod Identity IAM ロールを設定するには [推奨ロールを作成] を選択してください。ロール作成ウィザードが別のウィンドウで開きます。ウィザードは次のようにロールの情報を自動的に入力してください。EKS Pod Identity IAM ロールを作成するアドオンごとに、IAM ウィザードのステップを次のように実行してください。

        • [信頼されたエンティティを選択] ステップでは [EKS] の AWS サービスオプションと [EKS - Pod Identity] のユースケースが事前に選択されており、アドオンのために適切な信頼ポリシーが自動的に入力されます。例えば、ロールは「EKS Pod Identity の利点」で詳述されているように、pods.eks.amazonaws.com の IAM プリンシパルを含む適切な信頼ポリシーを使用して作成されます。[次へ] を選択してください。

        • [アクセス許可の追加] ステップではロールポリシー用の適切なマネージドポリシーがアドオンのために事前に選択されています。例えば、Amazon VPC CNI アドオンの場合、ロールは「Amazon VPC CNI Kubernetes用プラグイン」で詳述されているように、マネージドポリシー AmazonEKS_CNI_Policy を使用して作成されます。[次へ] を選択します。

        • [名前、確認、作成] のステップにおいて、[ロール名] で、アドオンのためにデフォルトのロール名が自動的に入力されます。例えば、Amazon VPC CNI アドオンの場合、ロールは AmazonEKSPodIdentityAmazonVPCCNIRole という名前で作成されます。[説明] ではアドオンのためにデフォルトの適切な説明が自動的に入力されます。例えば、Amazon VPC CNI アドオンの場合、ロールは AWS リソースにアクセスすることを「Amazon EKS クラスターで実行されているポッドに許可します」という説明で作成されます。[信頼ポリシー] で、アドオンのために事前入力された信頼ポリシーを表示します。[ロールの作成] を選択してください。

          注: デフォルトのロール名を保持すると、EKS は新しいクラスターでアドオン用のロールを事前に選択したり、既存のクラスターにアドオンを追加したりできます。この名前は引き続き上書きでき、ロールはクラスター全体でアドオンのために使用できますが、ロールはドロップダウンから手動で選択する必要があります。

      2. [ステータス][サブスクリプションが必要] でなく、IRSA を使用してロールを設定するアドオンについてはIAM ポリシーを作成してロールにアタッチするために作成するアドオンに関するドキュメントを参照してください。アドオンのリストについては、AWS アドオン を参照してください。IAM ロールを選択するにはクラスター用に OpenID Connect (OIDC) プロバイダーが必要です。クラスター用に持っているかどうかを確認、あるいは作成するには、クラスターの IAM OIDC プロバイダーを作成するには を参照してください。

      3. [オプション設定のセッティング] を選択してください。

      4. アドオンに設定が必要な場合、設定値 ボックスに入力します。アドオンに設定情報が必要かどうかを判断するには作成するアドオンのドキュメントを参照してください。アドオンのリストについては、AWS アドオン を参照してください。

      5. [競合解決方法] で利用可能なオプションをいずれか選択してください。[コンフリクト解決方法][上書き] を選択すると、既存のアドオンでの 1 つ以上の設定が、Amazon EKS アドオンの設定で上書きされます。このオプションが有効でない状態で既存の設定との競合が発生する場合はオペレーションが失敗します。表示されたエラーメッセージを使用して、競合をトラブルシューティングできます。このオプションを選択する前に、自分で管理する必要のある設定が、Amazon EKS アドオンにより管理されていないことを確認します。

      6. アドオンを特定の名前空間にインストールする場合は、その名前空間を [名前空間] フィールドに入力します。AWS アドオンとコミュニティアドオンでは、アドオンをインストールするカスタム Kubernetes 名前空間を定義できます。詳細については、アドオン用のカスタム名前空間 を参照してください。

      7. [次へ] を選択します。

  8. [確認と追加] ページで、[作成] を選択してください。アドオンのインストールが完了した後、インストールしたアドオンが表示されます。

  9. インストールしたアドオンにサブスクリプションが必要な場合、次のステップを実行してください:

    1. アドオンの右下隅にある [サブスクライブ] ボタンを選択してください。AWS Marketplace のアドオンのページが表示されます。[製品概要][価格情報] など、アドオンに関する情報をお読みください。

    2. アドオンページの右上にある [サブスクライブを続ける] ボタンを選択してください。

    3. [利用規約] をよくお読みください。利用規約に同意する場合、[利用規約に同意] を選択してください。サブスクリプションの処理に数分かかることがあります。サブスクリプションの処理中、[Amazon EKS コンソールに戻る] ボタンがグレー表示されます。

    4. サブスクリプションの処理が完了すると、[Amazon EKS コンソールに戻る] ボタンがグレー表示されなくなります。ボタンを選択し、クラスターの Amazon EKS コンソールの [アドオン] タブに戻ります。

    5. サブスクライブしているアドオンについては [削除して再インストール] を選択し、次に [アドオンの再インストール] を選択してください。アドオンのインストールに数分かかることがあります。インストールが完了すると、アドオンを設定できます。

アドオンの作成 (AWS CLI)

  1. ご使用のデバイスまたは AWS CloudShell で、バージョン 2.12.3 以降、または AWS コマンドラインインターフェイス (AWS CLI) のバージョン 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.36 をお持ちのクラスターのバージョンに置き換えます。

    aws eks describe-addon-versions --kubernetes-version 1.36 \ --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 で利用可能なアドオンが 3 種類あり、タイプ eks の発行元でアドオンが 5 種類あります。Owner 列に aws-marketplace があるアドオンはインストールする前にサブスクリプションが必要な場合があります。URL にアクセスしてアドオンの詳細を確認したり、アドオンをサブスクライブしたりできます。

  3. アドオンごとに利用可能なバージョンを確認できます。1.36 をクラスターのバージョンに置き換え、vpc-cni を前のステップで返されたアドオンの名前に置き換えます。

    aws eks describe-addon-versions --kubernetes-version 1.36 --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 Identity またはサービスアカウントの IAM ロール (IRSA 使用するかどうかを決定し、(2) アドオンで使用する IAM ロールの ARN を決定し、(3) アドオンで使用される Kubernetes サービスアカウントの名前を決定する必要があります。詳細については、「Amazon EKS アドオンに関する IAM 情報を取得する」を参照してください。

    • Amazon EKS ではアドオンが EKS Pod Identity をサポートしている場合はEKS Pod Identity の使用を推奨しています。そのためにはPod Identity エージェントがクラスター にインストールされている必要があります。アドオンで Pod Identity を使用する場合の詳細については、「Amazon EKS アドオンの IAM ロール」を参照してください。

    • アドオンまたはクラスターが EKS Pod Identity 用に設定されていない場合は、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 Identity を使用している場合は<service-account-configuration> を次の Pod Identity の関連付けに置き換えます。<service-account-name> をアドオンで使用されるサービスアカウント名に置き換えます。<role-arn> を IAM ロールの ARN に置き換えます。ロールにはEKS Pod Identity に必要な信頼ポリシーが必要です。

        --pod-identity-associations 'serviceAccount=<service-account-name>,roleArn=<role-arn>'
      • アドオンが (1) IAM アクセス許可が必要で、(2) クラスターが IRSA を使用している場合は<service-account-configuration> を次の IRSA 設定に置き換えます。111122223333 を、アカウント ID に置き換えます。また、role-name を、作成した既存の IAM ロールの名前に置き換えます。ロールの作成手順については作成するアドオンのドキュメントを参照してください。アドオンのリストについては、「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 コマンドラインリファレンスの「 create-addon 」を参照してください。作成したアドオンが前のステップの Owner 列に aws-marketplace が一覧表示されている場合、作成が失敗して次のエラーと同様なエラーメッセージが表示されることがあります。

      { "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 コマンドを再実行してください。