このページの改善にご協力ください
このユーザーガイドに貢献するには、すべてのページの右側のペインにある「GitHub でこのページを編集する」リンクを選択してください。
Amazon EKS アドオン
アドオンは、Kubernetes アプリケーションをサポートする操作機能を提供するソフトウェアですが、アプリケーションに固有のものではありません。これには、監視エージェントや Kubernetes ドライバなどのソフトウェアが含まれます。これらのソフトウェアにより、クラスターは、ネットワーク、コンピューティング、およびストレージ用の基盤となる AWS リソースと相互作用できるようになります。アドオンソフトウェアは、通常、Kubernetes コミュニティや AWS のようなクラウドプロバイダ、またはサードパーティーベンダーによって構築、保守されます。Amazon EKS は、Amazon VPC CNI plugin for Kubernetes、kube-proxy
、および、CoreDNS などのセルフマネージド型アドオンを、すべてのクラスターで自動的にインストールします。VPC CNI アドオンは Amazon EKS Hybrid Nodes と互換性がなく、ハイブリッドノードにデプロイされないことに注意してください。必要に応じて、アドオンのデフォルト設定は変更と更新が可能です。
Amazon EKS アドオンはAmazon EKS クラスター用に厳選されたアドオンセットのインストールと管理を実行してください。Amazon EKS アドオンには最新のセキュリティパッチ、バグ修正が含まれており、また Amazon EKS と連携するために AWS により検証されています。Amazon EKS アドオンを使用すると、Amazon EKS クラスターの安全性と安定性を一貫して保証でき、アドオンのインストール、設定、および更新に必要となる作業量を削減できます。セルフマネージド型のアドオン (kube-proxy
など) がすでにクラスターで実行されており、Amazon EKS アドオンとして利用可能な場合、kube-proxy
Amazon EKS アドオンをインストールすれば、その機能からのメリットを活用できるようになります。
Amazon EKS API を使用することで、Amazon EKS アドオンのための、Amazon EKS 管理の特定の設定フィールドを更新できます。Amazon EKS で管理されていない設定フィールドは、アドオンの起動後に Kubernetes クラスター内で直接変更することもできます。これには、アドオン向けの特定の設定フィールドの定義が含まれます (該当する場合)。これらの変更は一度実行されると Amazon EKS によって上書きされることはありません。これは、Kubernetes によるサーバー側の適用機能を使用して実現しています。詳細については「Amazon EKS アドオンのためにカスタマイズできるフィールドを決定する」を参照してください。
Amazon EKS アドオンはどの Amazon EKS ノードタイプでも使用できます。詳細については「ノードを使用してコンピューティングリソースを管理する」を参照してください。
Amazon EKS アドオンはAmazon EKS API、AWS Management Console、AWS CLI、および eksctl
を使用して、追加、更新、または削除ができます。Amazon EKS アドオンはAWS クラウドフォーメーション を使用しても作成できます。
考慮事項
Amazon EKS アドオンを使用する場合は次の点を考慮してください:
-
クラスターでアドオンの設定を行うにはアドオンを操作するための IAM 許可を、IAM プリンシパルが持っている必要があります。詳細については「Amazon Elastic Kubernetes Service で定義されるアクション」で、
Addon
の名前ごとにアクションを参照してください。 -
Amazon EKS アドオンはクラスター用にプロビジョニングまたは設定するノードで実行されます。ノードタイプには Amazon EC2 インスタンス、Fargate、ハイブリッドノードがあります。
-
Amazon EKS で管理されていないフィールドを変更して、Amazon EKS アドオンのインストールをカスタマイズできます。詳細については「Amazon EKS アドオンのためにカスタマイズできるフィールドを決定する」を参照してください。
-
AWS Management Console を使用してクラスターを作成すると、Amazon EKS
kube-proxy
、Amazon VPC CNI plugin for Kubernetes、および CoreDNS Amazon EKS アドオンが自動的にクラスターに追加されます。また、eksctl
を使用してconfig
ファイルでクラスターを作成する場合はeksctl
は Amazon EKS アドオンを持つクラスターを作成できます。config
ファイルなしで (あるいは他のツールを使用して)eksctl
によりクラスターを作成する場合は、Amazon EKS アドオンではなく、セルフマネージドのkube-proxy
や、Amazon VPC CNI plugin for Kubernetes、および CoreDNS アドオンがインストールされます。これらは自分で管理することが可能で、また、クラスターの作成後に Amazon EKS アドオンを手動で追加することもできます。クラスターの作成にどの方法を使用するかにかかわらず、VPC CNI アドオンはハイブリッドノードにインストールされません。 -
eks:addon-cluster-admin
ClusterRoleBinding
はcluster-admin
ClusterRole
をeks:addon-manager
Kubernetes の ID にバインドします。このロールにはeks:addon-manager
ID が Kubernetes 名前空間を作成し、アドオンを名前空間にインストールするために必要なアクセス許可があります。eks:addon-cluster-admin
ClusterRoleBinding
が削除されても、Amazon EKS クラスターは引き続き機能しますが、Amazon EKS はアドオンを管理できなくなります。次のプラットフォームバージョンから始まるすべてのクラスターは新しいClusterRoleBinding
バージョンを使用します。 -
AWS からの EKS アドオンのサブセットは Amazon EKS Hybrid Nodes との互換性が検証されています。詳細についてはAWS アドオン の互換性の表を参照してください。
必要なプラットフォームバージョン
表を確認して、クラスターでこの機能を使用するために必要な最低限のプラットフォームバージョンを確認してください。リストされているプラットフォームバージョン、またはより新しいプラットフォームバージョンを使用できます。例えば、テーブルに「eks.14」と表示されている場合はプラットフォームバージョン「eks.15」を使用できます。詳細については「各 Kubernetes バージョンの Amazon EKS プラットフォームバージョンを表示する」を参照してください。
Kubernetes バージョン | EKS プラットフォームのバージョン |
---|---|
1.25以降 |
すべてのプラットフォームバージョン |
1.20 |
eks.12 |
1.21 |
eks.14 |
1.22 |
eks.9 |
1.23 |
eks.5 |
1.24 |
eks.3 |
Amazon EKS Auto Mode の考慮事項
Amazon EKS 自動 モードには以下のような重要なクラスター機能を提供する機能が含まれています:
-
ポッドネットワーキング
-
サービスネットワーキング
-
クラスター DNS
-
自動スケーリング
-
ブロックストレージ
-
ロードバランサーコントローラー
-
Pod Identity エージェント
-
ノードモニタリングエージェント
自動 mode コンピューティングでは以下に示すような、一般的に使用される多くの EKS アドオンが冗長になります:
-
Amazon VPC CNI
-
kube-proxy
-
CoreDNS
-
Amazon EBS CSI ドライバー
-
EKS Pod Identity エージェント
ただし、クラスターが 自動 mode をセルフマネージド EC2 インスタンス、マネージド型ノードグループ、AWS Fargate などの他のコンピューティングオプションと組み合わせる場合、これらのアドオンは引き続き必要です。AWS はアンチアフィニティルールを用いて EKS アドオンを強化し、アドオンポッドがサポートされているコンピュートタイプのみに自動的にスケジュールされるようにしています。さらに、ユーザーは EKS アドオン DescribeAddonVersions
API を活用して、各アドオンとその特定のバージョンでサポートされている computeTypes を検証できるようになりました。加えて EKS 自動 モードでは上記のコントローラーは AWS の所有するインフラストラクチャで実行されます。そのため、EKS 自動 モードを他のタイプのコンピューティングと組み合わせて使用している場合をのぞいて、これらのコントローラーをアカウントで見ることすらないかもしれません。組み合わせて使用している場合はクラスターにインストールしたコントローラーが表示されます。
既存のクラスターで EKS 自動モードl を有効にする予定がある場合は特定のアドオンのバージョンアップグレードが必要になる場合があります。詳細については「EKS 自動モードl の 必要なアドオンバージョン」を参照してください。
サポート
AWS はサポートレベルが異なる複数のタイプのアドオンを発行します。
-
AWS アドオン: これらのアドオンは によって構築され、完全にサポートされていますAWS。
-
AWS アドオンを使用して、Amazon EFS などのAWS 他のサービスと連携します。
-
詳細については「AWS アドオン」を参照してください。
-
-
AWS マーケットプレイス アドオン: これらのアドオンは独立したAWSパートナーによってスキャンAWSされ、サポートされます。
-
マーケットプレイス アドオンを使用して、Splunk によるモニタリングなど、クラスターに価値のある高度な機能を追加します。
-
詳細については「AWS マーケットプレイス アドオン」を参照してください。
-
-
コミュニティアドオン: これらのアドオンは によってスキャンされますAWSが、オープンソースコミュニティによってサポートされます。
-
コミュニティアドオンを使用すると、Kubernetes メトリクスサーバーなどの一般的なオープンソースソフトウェアのインストールの複雑さを軽減できます。
-
コミュニティアドオンは AWS によって構築されます。AWS は、バージョンの互換性についてのみコミュニティアドオンを検証します。
-
詳細については「コミュニティアドオン」を参照してください。
-
次の表は各アドオンタイプのサポート範囲の詳細を示しています:
カテゴリ | 機能 | AWSアドオン | AWS マーケットプレイス アドオン | コミュニティアドオン |
---|---|---|---|---|
開発 |
AWS によって構築されました |
あり |
なし |
あり |
開発 |
AWS によって検証済み |
あり |
いいえ |
Yes* |
開発 |
AWS パートナーによって検証済み |
いいえ |
あり |
いいえ |
メンテナンス |
AWS によってスキャンされました |
あり |
あり |
あり |
メンテナンス |
AWS によって修正されました |
あり |
なし |
あり |
メンテナンス |
AWS パートナーによってパッチが適用されました |
いいえ |
あり |
いいえ |
ディストリビューション |
AWS によって公開 |
あり |
なし |
あり |
ディストリビューション |
AWS パートナーによって公開 |
いいえ |
あり |
いいえ |
サポート |
AWSによる基本インストールサポート |
あり |
あり |
あり |
サポート |
フルAWSサポート |
あり |
いいえ |
いいえ |
サポート |
完全なAWSパートナーサポート |
いいえ |
あり |
いいえ |
*
: コミュニティアドオンの検証には、Kubernetes バージョンの互換性のみが含まれます。例えば、クラスターにコミュニティアドオンをインストールすると、AWS はクラスターの Kubernetes バージョンと互換性があるかどうかを確認します。
AWS マーケットプレイス アドオンは の外部ソースから追加のソフトウェア依存関係をダウンロードできますAWS。これらの外部依存関係は によってスキャンまたは検証されませんAWS。外部の依存関係を取得する AWS マーケットプレイス アドオンをデプロイするときはセキュリティ要件を考慮してください。