Amazon EKS アドオン - Amazon EKS

Amazon EKS アドオン

アドオンは、Kubernetes アプリケーションにサポート操作機能を提供するソフトウェアですが、アプリケーションに固有のものではありません。これには、クラスターがネットワーク、コンピューティング、およびストレージの基盤となる AWS リソースと対話できるようにする可観測性エージェントや Kubernetes ドライバーなどのソフトウェアが含まれます。アドオンソフトウェアは、通常、Kubernetes コミュニティや AWS のようなクラウドプロバイダ、またはサードパーティーベンダーによって構築、保持されます。Amazon EKS は、Amazon VPC CNI plugin for Kubernetes、kube-proxy、および CoreDNS などのセルフマネージド型アドオンを、すべてのクラスターで自動的にインストールします。必要に応じて、アドオンのデフォルト設定は変更と更新が可能です。

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 によるサーバー側の適用機能を使用して実現しています。詳細については、「 Kubernetes フィールド管理」を参照してください。

Amazon EKS アドオンは、どの Amazon EKS ノードタイプでも使用できます。

考慮事項
  • クラスターでアドオンの設定を行うには、アドオンを操作するための IAM アクセス許可を、IAM ユーザーが持っている必要があります。詳細については、「Amazon Elastic Kubernetes Service で定義されるアクション」で、Addon の名前ごとにアクションを参照してください。

  • Amazon EKS アドオンは、クラスター用にプロビジョニングまたは設定するノードで実行されます。ノードタイプには、Amazon EC2 インスタンスと Fargate が含まれます。

  • Amazon EKS で管理されていないフィールドを変更して、Amazon EKS アドオンのインストールをカスタマイズできます。詳細については、「 Kubernetes フィールド管理」を参照してください。

  • 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 アドオンを手動で追加することもできます。

  • eks:addon-cluster-admin ClusterRoleBindingcluster-admin ClusterRoleeks:addon-manager の ID にバインドします。このロールには、eks:addon-manager ID が Kubernetes 名前空間を作成し、アドオンを名前空間にインストールするために必要なアクセス許可があります。eks:addon-cluster-admin ClusterRoleBinding が削除されても、Amazon EKS クラスターは引き続き機能しますが、Amazon EKS はアドオンを管理できなくなります。次のプラットフォームバージョンから始まるすべてのクラスターは、新しい ClusterRoleBinding バージョンを使用します。

    Kubernetes バージョン EKS プラットフォームのバージョン
    1.20 eks.12
    1.21 eks.14
    1.22 eks.9
    1.23 eks.5
    1.24 eks.3

Amazon EKS アドオンは、Amazon EKS API、AWS Management ConsoleAWS CLI、および eksctl を使用して、追加、更新、または削除ができます。詳細については、「Amazon EKS アドオンの管理」を参照してください。Amazon EKS アドオンは、AWS CloudFormation を使用しても作成できます。

利用可能な Amazon EKS アドオン

以下の Amazon EKS アドオンをクラスターで作成できます。アドオンに関する情報については、リストから選択してください。

独立系ソフトウェアベンダーによる追加の Amazon EKS アドイン

前述の Amazon EKS アドオンのリストに加えて、独立系ソフトウェアベンダーのさまざまな運用ソフトウェア Amazon EKS アドオンを追加することもできます。以下のアドオンは、2022 年 11 月 27 日以降に作成されたクラスターでのみ使用できます。その日付より前に作成されたクラスターへのインストールは失敗する可能性があります。アドオンを選択すると、そのアドオンとそのインストール要件について詳しく知ることができます。

  • パブリッシャー - Dynatrace

  • 名前 - dynatrace_dynatrace-operator

  • バージョン - v0.8.2-eksbuild.0

  • 名前空間 - dynatrace

  • サービスアカウント名 - サービスアカウントはこのアドオンでは使用されません。

  • AWS マネージド IAM ポリシー - このアドオンでは管理ポリシーは使用されません。

  • カスタム IAM アクセス許可 - このアドオンではカスタムアクセス許可は使用されません。

  • セットアップと使用方法 -「dynatrace ドキュメント」の「Kubernetes モニタリング」を参照してください。

  • パブリッシャー - Factorhouse

  • 名前 - factorhouse_kpow

  • バージョン - v90.2.3-eksbuild.0

  • 名前空間 - factorhouse

  • サービスアカウント名 - kpow

  • AWS マネージド IAM ポリシー - AWSLicenseManagerConsumptionPolicy

  • 必要な IAM ロールを作成するコマンド - 次のコマンドでは、クラスターの IAM OpenID Connect (OIDC) プロバイダーが必要です。既に存在しているかどうかを確認する、または作成するには「クラスター用の IAM OIDC プロバイダーの作成」を参照してください。my-cluster をクラスターの名前に置き換え、my-role-name を IAM ロールの名前に置き換えます。このコマンドを使用するには、デバイスに eksctl がインストールされている必要があります。別のツールを使用してロールを作成し、Kubernetes サービスアカウントに注釈を付ける必要がある場合は、「IAM ロールを引き受けるための Kubernetes サービスアカウントの設定」を参照してください。

    eksctl create iamserviceaccount --name kpow --namespace factorhouse --cluster my-cluster --role-name "my-kpow-role" \ --role-only --attach-policy-arn arn:aws:iam::aws:policy/service-role/AWSLicenseManagerConsumptionPolicy --approve
  • カスタム IAM アクセス許可 - このアドオンではカスタムアクセス許可は使用されません。

  • セットアップと使用方法 - 「Kpow ドキュメント」の「AWS Marketplace LM」を参照してください。

  • パブリッシャー - Kubecost

  • 名前 - kubecost_kubecost

  • バージョン - v1.98.0-eksbuild.1

  • 名前空間 - kubecost

  • サービスアカウント名 - サービスアカウントはこのアドオンでは使用されません。

  • AWS マネージド IAM ポリシー - このアドオンでは管理ポリシーは使用されません。

  • カスタム IAM アクセス許可 - このアドオンではカスタムアクセス許可は使用されません。

  • セットアップと使用方法 - 「Kubecost ドキュメント」の「Amazon EKS インテグレーション」を参照してください。

  • クラスターがバージョン 1.23 以降の場合は、Amazon EBS CSI ドライバー がクラスターにインストールされている必要があります。そうでない場合、エラーが発生します。

  • パブリッシャー - Nirmata

  • 名前 - nirmata_kyverno

  • バージョン - v1.8.1-eksbuild.0

  • 名前空間 - kyverno

  • サービスアカウント名 - kyverno

  • AWS マネージド IAM ポリシー - AWSLicenseManagerConsumptionPolicy

  • 必要な IAM ロールを作成するコマンド - 次のコマンドでは、クラスターの IAM OpenID Connect (OIDC) プロバイダーが必要です。既に存在しているかどうかを確認する、または作成するには「クラスター用の IAM OIDC プロバイダーの作成」を参照してください。my-cluster をクラスターの名前に置き換え、my-kyverno-role をロールの名前に置き換えます。このコマンドを使用するには、デバイスに eksctl がインストールされている必要があります。別のツールを使用してロールを作成し、Kubernetes サービスアカウントに注釈を付ける必要がある場合は、「IAM ロールを引き受けるための Kubernetes サービスアカウントの設定」を参照してください。

    eksctl create iamserviceaccount --name kyverno --namespace kyverno --cluster my-cluster --role-name "my-kyverno-role" \ --role-only --attach-policy-arn arn:aws:iam::aws:policy/service-role/AWSLicenseManagerConsumptionPolicy --approve
  • カスタム IAM アクセス許可 - このアドオンではカスタムアクセス許可は使用されません。

  • セットアップと使用方法 -「Nirmata ドキュメント」の「Nirmata Kyverno Enterprise」を参照してください。

  • パブリッシャー - Teleport

  • 名前 - teleport_teleport

  • バージョン - v10.3.1-eksbuild.0

  • 名前空間 - teleport

  • サービスアカウント名 - サービスアカウントはこのアドオンでは使用されません。

  • AWS マネージド IAM ポリシー - このアドオンでは管理ポリシーは使用されません。

  • カスタム IAM アクセス許可 - このアドオンではカスタムアクセス許可は使用されません。

  • セットアップと使用方法 -「Teleport ドキュメント」の「How Teleport Works」(テレポートの仕組み) を参照してください。

  • パブリッシャー - Tetrate

  • 名前 - tetrate-io_istio-distro

  • バージョン - v1.15.3-eksbuild.0

  • 名前空間 - istio-system

  • サービスアカウント名 - サービスアカウントはこのアドオンでは使用されません。

  • AWS マネージド IAM ポリシー - このアドオンでは管理ポリシーは使用されません。

  • カスタム IAM アクセス許可 - このアドオンではカスタムアクセス許可は使用されません。

  • セットアップと使用方法 -「Tetrate Istio Distro」のウェブサイトを参照してください。

  • パブリッシャー - Upbound

  • 名前 - upbound_universal-crossplane

  • バージョン - v1.9.1-eksbuild.0

  • 名前空間 - upbound-system

  • サービスアカウント名 - サービスアカウントはこのアドオンでは使用されません。

  • AWS マネージド IAM ポリシー - このアドオンでは管理ポリシーは使用されません。

  • カスタム IAM アクセス許可 - このアドオンではカスタムアクセス許可は使用されません。

  • セットアップと使用方法 -「Upbound ドキュメント」の「Upbound Universal Crossplane (UXP)」(アップバウンドユニバーサルクロスプレーン (UXP)) を参照してください。