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

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

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

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

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

重要

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

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

        kubectl apply -f aws-k8s-cni.yaml