Amazon VPC CNI Plugin for Kubernetes のアップグレード - Amazon EKS

「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」

Amazon VPC CNI Plugin for Kubernetes のアップグレード

Amazon EKS クラスターを起動すると、最新バージョンの Amazon VPC CNI plugin for Kubernetes がクラスターにデプロイされます。プラグインの確実な最新バージョンは、新しいクラスターがそれを使用するように切り替えられる前に、短期間 GitHub で利用できます。Amazon EKS は、新しいバージョンがリリースされたときに、クラスター上の CNI プラグインを自動的にアップグレードしません。既存のクラスターで CNI プラグインの新しいバージョンを取得するには、プラグインを手動でアップグレードする必要があります。

推奨される最新バージョンはバージョン です1.7.5 GitHub で、プラグインの使用可能な各リリースを確認し、各バージョンのリリースノートを閲覧できます。バージョン 1.7.0 以降ではprivileged、コンテナ機能は CNI ポッド (aws-node) から削除されました。ポッドの NET_ADMIN 機能は securityContext にあります。これはcapabilities、ポッドネットワークを設定するためにaws-nodeコンテナが iptables、ルート、およびルールを追加するために必要です。またinit、ポッドの起動時にリバースパスフィルタをセットアップし、ループバックプラグインをコピーできるように、 aws-node 機能を持つ privileged ポッドにaws-nodeコンテナが追加されました。

重要

ポッドに使用する aws-node Kubernetes サービスアカウントにカスタムaws-nodeポッドセキュリティポリシーを割り当てている場合NET_ADMIN、ポリシーの allowedCapabilities セクションに hostNetwork: true および とともに privileged: true が必要ですspec。詳細については、「 」を参照してくださいポッドのセキュリティポリシー

CNI プラグインバージョンを確認して最新の推奨バージョンにアップグレードするには、次の手順を使用します。

Amazon VPC CNI Plugin for Kubernetes のバージョンを確認するには

  • 次のコマンドを使用して、クラスターの CNI バージョンを出力します。

    kubectl describe daemonset aws-node --namespace kube-system | grep Image | cut -d "/" -f 2

    出力:

    amazon-k8s-cni:1.6.3

    この出力例の CNI バージョンは 1.6.3 で、現在の推奨バージョン 1.7.5 より古いものです。CNI をアップグレードするには、次の手順を使用します。

Amazon VPC CNI Plugin for Kubernetes をアップグレードするには

  • CNI バージョンが より前のバージョンであり1.7.5、プラグインを自分で管理している場合は、以下の適切なコマンドを使用して CNI バージョンを最新の推奨バージョンに更新します。クラスターが Kubernetes 1.18 以降 (eks.3プラットフォームバージョン 以降) で実行されていて、プラグインが によって管理されている場合Amazon EKS、プラグインを更新するにはAmazon EKS アドオンを設定する、「」を参照してください。

    重要

    クラスターのプラグインのデフォルト設定に加えた変更は、マニフェストの新しいバージョンを適用するときにデフォルト設定で上書きできます。カスタム設定が失われないようにするには、マニフェストをダウンロードし、必要に応じてデフォルト設定を変更して、変更したマニフェストをクラスターに適用します。

    • 米国西部 (オレゴン) (us-west-2)

      kubectl apply -f https://raw.githubusercontent.com/aws/amazon-vpc-cni-k8s/v1.7.5/config/v1.7/aws-k8s-cni.yaml
    • 中国 (北京) (cn-north-1) または 中国 (寧夏) (cn-northwest-1)

      kubectl apply -f https://raw.githubusercontent.com/aws/amazon-vpc-cni-k8s/v1.7.5/config/v1.7/aws-k8s-cni-cn.yaml
    • AWS GovCloud (米国東部) (us-gov-east-1)

      kubectl apply -f https://raw.githubusercontent.com/aws/amazon-vpc-cni-k8s/v1.7.5/config/v1.7/aws-k8s-cni-us-gov-east-1.yaml
    • AWS GovCloud (US-West) (us-gov-west-1)

      kubectl apply -f https://raw.githubusercontent.com/aws/amazon-vpc-cni-k8s/v1.7.5/config/v1.7/aws-k8s-cni-us-gov-west-1.yaml
    • その他のすべてのリージョンの場合

      • マニフェストファイルをダウンロードします。

        curl -o aws-k8s-cni.yaml https://raw.githubusercontent.com/aws/amazon-vpc-cni-k8s/v1.7.5/config/v1.7/aws-k8s-cni.yaml
      • 必要に応じて、次のコマンド<region-code>の をクラスターがあるリージョンに置き換え、変更したコマンドを実行して ファイル (現在は ) のリージョンコードを置き換えますus-west-2

        sed -i.bak -e 's/us-west-2/<region-code>/' aws-k8s-cni.yaml
      • マニフェストファイルをクラスターに適用します。

        kubectl apply -f aws-k8s-cni.yaml