Amazon VPC CNI plugin for Kubernetes Amazon EKS アドオンの更新 - Amazon EKS

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

本ユーザーガイドの改善にご協力いただけませんか? このページの下部までスクロールし、[GitHub でこのページの編集] を選択します。皆さまにご協力いただくことで、あらゆる人々に使いやすいユーザーガイドになります。

Amazon VPC CNI plugin for Kubernetes Amazon EKS アドオンの更新

Amazon EKS タイプのアドオンを更新します。Amazon EKS タイプのアドオンをクラスターに追加していない場合は、アドオンを追加するか、「セルフマネージド Amazon EKS アドオンの更新」を参照してください。

  1. クラスターにインストールされているアドオンのバージョンを確認します。my-cluster をクラスター名に置き換えます。

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

    出力例は次のとおりです。

    v1.16.4-eksbuild.2

    返されたバージョンが、最新バージョンの表にあるクラスターの Kubernetes バージョンのバージョンと同じである場合は、既に最新バージョンがクラスターにインストールされているため、この手順の残りを完了する必要はありません。出力にバージョン番号ではなくエラーが表示される場合は、Amazon EKS タイプのアドオンがクラスターにインストールされていません。この手順でアドオンを更新する前に、アドオンを作成する必要があります。

  2. 現在インストールされているアドオンの設定を保存します。

    kubectl get daemonset aws-node -n kube-system -o yaml > aws-k8s-cni-old.yaml
  3. AWS CLI を使用してアドオンを更新します。AWS Management Console または eksctl を使用してアドオンを更新する場合は、「Amazon EKS アドオンの更新」を参照してください。デバイスに沿ったコマンドをコピーします。必要に応じてコマンドに次の変更を加え、変更したコマンドを実行します。

    • my-cluster を自分のクラスター名に置き換えます。

    • v1.18.5-eksbuild.1 を、クラスターバージョンの最新バージョンの表に記載されている最新バージョンに置き換えます。

    • 111122223333 を、アカウント ID に置き換えます。また、AmazonEKSVPCCNIRole を、作成した既存の IAM ロールの名前に置き換えます。ロールを指定するには、クラスター用に IAM OpenID Connect (OIDC) プロバイダーが必要です。クラスター用に持っているかどうかを確認、あるいは作成するには、「クラスターの IAM OIDC プロバイダーを作成する」を参照してください。

    • --resolve-conflicts PRESERVE オプションはアドオンの既存の設定値を保存します。アドオン設定にカスタム値を設定していて、このオプションを使用しない場合、Amazon EKS は値をデフォルト値で上書きします。このオプションを使用する場合、実稼働クラスターのアドオンを更新する前に、非稼動クラスターのフィールドおよび値変更をテストすることをお勧めします。この値を OVERWRITE に変更する場合、すべての設定が Amazon EKS のデフォルト値に変更されます。いずれかの設定にカスタム値を設定した場合、Amazon EKS のデフォルト値で上書きされる可能性があります。この値を none に変更した場合、Amazon EKS は設定の値を一切変更しませんが、更新が失敗する可能性があります。更新に失敗した場合、競合の解決に役立つエラーメッセージが返されます。

    • 構成設定を更新しない場合は、コマンドから --configuration-values '{"env":{"AWS_VPC_K8S_CNI_EXTERNALSNAT":"true"}}' を削除します。構成設定を更新する場合は、"env":{"AWS_VPC_K8S_CNI_EXTERNALSNAT":"true"} を、希望する設定に置き換えます。この例では、AWS_VPC_K8S_CNI_EXTERNALSNAT 環境変数は true に設定されています。指定する値は、設定スキーマに対して有効である必要があります。設定スキーマが不明である場合は、aws eks describe-addon-configuration --addon-name vpc-cni --addon-version v1.18.5-eksbuild.1 を実行して、v1.18.5-eksbuild.1 を、設定を表示するアドオンのバージョン番号に置き換えます。出力でスキーマが返されます。既存のカスタム設定があり、それをすべて削除してすべての設定の値を Amazon EKS のデフォルトに戻したい場合は、コマンドから "env":{"AWS_VPC_K8S_CNI_EXTERNALSNAT":"true"} を削除して、{} が空になるようにします。各設定の説明については、GitHub の「CNI 設定変数」を参照してください。

      aws eks update-addon --cluster-name my-cluster --addon-name vpc-cni --addon-version v1.18.5-eksbuild.1 \ --service-account-role-arn arn:aws:iam::111122223333:role/AmazonEKSVPCCNIRole \ --resolve-conflicts PRESERVE --configuration-values '{"env":{"AWS_VPC_K8S_CNI_EXTERNALSNAT":"true"}}'

      更新が完了するまでに数秒かかる場合があります。

  4. アドオンのバージョンが更新されたことを確認します。my-cluster を自分のクラスター名に置き換えます。

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

    更新が完了するまでに数秒かかる場合があります。

    出力例は次のとおりです。

    { "addon": { "addonName": "vpc-cni", "clusterName": "my-cluster", "status": "ACTIVE", "addonVersion": "v1.18.5-eksbuild.1", "health": { "issues": [] }, "addonArn": "arn:aws:eks:region:111122223333:addon/my-cluster/vpc-cni/74c33d2f-b4dc-8718-56e7-9fdfa65d14a9", "createdAt": "2023-04-12T18:25:19.319000+00:00", "modifiedAt": "2023-04-12T18:40:28.683000+00:00", "serviceAccountRoleArn": "arn:aws:iam::111122223333:role/AmazonEKSVPCCNIRole", "tags": {}, "configurationValues": "{\"env\":{\"AWS_VPC_K8S_CNI_EXTERNALSNAT\":\"true\"}}" } }