マネージド型ノードグループの更新 - Amazon EKS

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

マネージド型ノードグループの更新

Amazon EKSマネージド型ノードグループのバージョンまたは設定を更新すると便利なシナリオがいくつかあります。

  • Amazon EKSクラスターの Kubernetes バージョンを更新し、同じ Kubernetes バージョンを使用するようにノードを更新します。

  • マネージド型ノードグループでは、新しい AMI リリースバージョンを使用できます。AMI のバージョンの詳細については、「」を参照してくださいAmazon EKSAmazon Linux最適化 AMI のバージョン

  • マネージド型ノードグループ内のインスタンスの最小数、最大数、または必要な数を調整する場合。

  • マネージド型ノードグループのインスタンスで Kubernetes ラベルを追加または削除する場合。

  • マネージド型ノードグループに AWS タグを追加または削除する場合。

  • 更新されたカスタム AMI など、設定変更のある起動テンプレートの新しいバージョンをデプロイする必要があります。

マネージド型ノードグループの Kubernetes バージョン用の新しい AMI リリースバージョンがある場合は、新しい AMI バージョンを使用するようにノードグループのバージョンを更新できます。同様に、クラスターがノードグループより新しい Kubernetes バージョンを実行している場合は、最新の AMI リリースバージョンを使用するようにノードグループを更新して、クラスターの Kubernetes バージョンに一致させることができます。

注記

ノードグループを以前の Kubernetes バージョンまたは AMI バージョンにロールバックすることはできません。

スケーリングアクションまたは更新によってマネージド型ノードグループ内のノードが終了すると、そのノードのポッドが最初にドレーンされます。詳細については、を参照してください マネージド型ノードの更新動作

ノードグループバージョンの更新

AWS マネジメントコンソールまたは を使用してノードグループバージョンを更新できますeksctl

を使用してノードグループバージョンを更新するにはAWS マネジメントコンソール

  1. (オプション) Kubernetes Cluster Autoscaler を使用している場合は、スケーリングアクションの競合を回避するために、デプロイを 0 にスケールダウンします。

    kubectl scale deployments/cluster-autoscaler --replicas=0 -n kube-system
  2. https://console.aws.amazon.com/eks/home#/clusters にある Amazon EKS コンソールを開きます。

  3. 更新するノードグループを含むクラスターを選択します。

  4. Amazon EKS最適化された AMI でデプロイされたノードグループの少なくとも 1 つで更新を利用できる場合は、クラスター名の下に通知が表示されます。通知により、更新が利用可能なノードグループの数がわかります。[コンピューティング] タブの [ノードグループ] テーブルで、[今すぐ更新] が表示されます。

    • 最適化された AMI 更新が利用できる各ノードグループの AMI リリースバージョンAmazon EKS列の値。ノードグループがカスタム AMI でデプロイされた場合、このオプションは表示されません。ノードがカスタム AMI を使用してデプロイされている場合は、以下のステップに従って、新しい更新されたカスタム AMI をデプロイします。まず、新しいバージョンの AMI を作成し、新しい AMI ID で新しい起動テンプレートバージョンを作成してから、最後に起動テンプレートの新しいバージョンにノードをアップグレードします。これを行うには、更新するノードグループに対して [今すぐ更新] を選択します。

    • 起動テンプレートでデプロイされる各ノードグループの [Launch template (起動テンプレート)] 列の値。起動テンプレートのバージョンを更新するノードグループの場合は、[Update now (今すぐ更新)] を選択します。

    テーブルからノードグループを選択し、そのノードに対する更新が利用可能である場合、[Node Group configuration (ノードグループの設定) ページに通知が表示されます。このページでは、[Update now (今すぐ更新)] を選択できます

  5. [Update Node Group version (ノードグループバージョンの更新)] ページで以下を選択します。

    • [Update – Node Group version (ノードグループバージョンの更新)] カスタム AMI をデプロイした場合、または EKS に最適化された AMI がすでにクラスターの最新バージョンにある場合、このオプションは使用できません。

    • 起動テンプレートバージョン – カスタム起動テンプレートを使用せずにノードグループがデプロイされている場合、このオプションは使用できません。カスタム起動テンプレートでデプロイされたノードグループの起動テンプレートのバージョンのみ更新できます。ノードグループを更新するバージョンを選択します。ノードグループがカスタム AMI を使用して設定されている場合は、選択するバージョンにも AMI を指定する必要があります。新しいバージョンの起動テンプレートにアップグレードすると、指定した起動テンプレートのバージョンの新しい設定と一致するようにすべてのノードがリサイクルされます。

  6. [Update strategy (戦略の更新)] で、次のいずれかのオプションを選択してから、[Update (更新)] を選択します

    • ローリング更新 – このオプションは、クラスターのポッド中断予算を優先します。このノードグループで実行されているポッドを が正しくドレーンできないようなポッド中断予算の問題がある場合、更新は失敗します。Amazon EKS

    • 強制更新 – このオプションは、ポッド中断予算を優先しません。ノードが強制的に再起動することで発生するポッド中断の予算の問題に関係なく、更新が発生します。

  7. (オプション) Kubernetes Cluster Autoscaler を使用する場合は、デプロイのスケーリングを必要なレプリカ数に戻します。

    kubectl scale deployments/cluster-autoscaler --replicas=<1> -n kube-system

を使用してノードグループバージョンを更新するにはeksctl

  1. (オプション) Kubernetes Cluster Autoscaler を使用している場合は、スケーリングアクションの競合を回避するために、デプロイを 0 にスケールダウンします。

    kubectl scale deployments/cluster-autoscaler --replicas=0 -n kube-system
  2. 次のコマンドを使用して、マネージド型ノードグループを、ノードに現在デプロイされているのと同じ Kubernetes バージョンの最新 AMI リリースにアップグレードします。

    eksctl upgrade nodegroup --name=<node-group-name> --cluster=<cluster-name>
    注記

    起動テンプレートを使用してデプロイされたノードグループを新しい起動テンプレートのバージョンにアップグレードする場合は、上記のコマンド--launch-template-<version>に追加します。起動テンプレートは、「」に記載されている要件を満たしている必要があります起動テンプレートのサポート。起動テンプレートにカスタム AMI が含まれている場合、AMI は の要件を満たしている必要がありますカスタム AMI の使用。ノードグループを新しいバージョンの起動テンプレートにアップグレードすると、指定されている起動テンプレートのバージョンの新しい設定と一致するようにすべてのノードがリサイクルされます。

    起動テンプレートなしでデプロイされたノードグループを、新しい起動テンプレートバージョンに直接アップグレードすることはできません。代わりに、起動テンプレートを使用して新しいノードグループをデプロイし、ノードグループを新しい起動テンプレートのバージョンに更新する必要があります。

    ノードグループは、ノードグループの現在の Kubernetes バージョンよりマイナーリリースが 1 つ後のバージョンにアップグレードできますが、そのバージョンはクラスターの Kubernetes バージョンより後にすることはできません。たとえば、Kubernetes 1.18 を実行しているクラスターがある場合、次のコマンド1.17を使用して、現在 Kubernetes を実行しているノード1.18をバージョンにアップグレードできます。

    eksctl upgrade nodegroup --name=<node-group-name> --cluster=<cluster-name> --kubernetes-version=<1.18>
  3. (オプション) Kubernetes Cluster Autoscaler を使用する場合は、デプロイのスケーリングを必要なレプリカ数に戻します。

    kubectl scale deployments/cluster-autoscaler --replicas=<1> -n kube-system

ノードグループ設定の編集

マネージド型ノードグループの設定の一部を変更できます。

ノードグループ設定を編集するには

  1. https://console.aws.amazon.com/eks/home#/clusters にある Amazon EKS コンソールを開きます。

  2. 編集するノードグループを含むクラスターを選択します。

  3. 編集するノードグループを選択し、[編集] を選択します。

  4. (オプション) [Edit node group (ノードグループの編集)] ページで、[グループ設定] を編集します

    • [タグ] – ノードグループリソースにタグを追加または削除します。これらのタグはAmazon EKSノードグループにのみ適用されます。これらは、ノードグループ内のサブネットやAmazon EC2インスタンスなど、他のリソースには伝達されません。

    • [Kubernetes labels (Kubernetes ラベル)] – ノードグループ内のノードに Kubernetes ラベルを追加または削除します。ここに示すラベルは、Amazon EKS で適用したラベルのみです。ここには表示されていない他のラベルがノードに存在する可能性があります。

  5. (オプション) [Edit node group (ノードグループの編集)] ページで、[Group size (グループサイズ)] を編集します

    • [最小サイズ–] マネージド型ノードグループが保持する必要があるノードの現在の数を指定します。

    • 最大サイズ マネージド型ノードグループがスケールアウトできるノードの最大数–を指定します。マネージド型ノードグループは、デフォルトで最大 100 個のノードをサポートできます。

    • 必要なサイズ マネージド型ノードグループが保持する必要がある現在のノード数–を指定します。

  6. 編集が終了したら、[Save changes (変更の保存)] を選択します。