ビュー:
プロファイル適用性: レベル2
ノードの自動アップグレードは、既知の脆弱性を軽減するために、ノードを現在のKubernetesおよびOSのセキュリティパッチレベルに維持します。
ノードの自動アップグレードは、クラスタまたはノードプール内のノードを最新の安定したKubernetesのパッチバージョンおよび基盤となるノードのOSで最新の状態に保つのに役立ちます。ノードの自動アップグレードは、手動のノードアップグレードと同じ更新メカニズムを使用します。
ノードプールでノードの自動アップグレードが有効になっている場合、新しい安定版のKubernetesバージョンが利用可能になると、自動的にアップグレードがスケジュールされます。アップグレードが実行されると、ノードプールは現在のクラスターのマスターバージョンに一致するようにアップグレードされます。
セキュリティの観点から、これはセキュリティ修正がリリースされた際にKubernetesエンジンに自動的にセキュリティアップデートを適用するという利点があります。
注意
注意
ノードの自動アップグレードはデフォルトで有効になっています。クラスターがノードの自動修復を有効にして作成された場合でも、これはデフォルトのノードプールにのみ適用されます。後続のノードプールにはデフォルトでノードの自動アップグレードは有効になっていません。

影響

ノードの自動アップグレードを有効にしても、ノードが即座にアップグレードされるわけではありません。自動アップグレードは、Kubernetesエンジンチームの裁量で定期的に行われます。クラスターのピーク時にアップグレードが行われるのを防ぐためには、メンテナンスウィンドウを定義する必要があります。
メンテナンスウィンドウは、選択可能な4時間の時間枠であり、その間に自動アップグレードが行われます。アップグレードは週の任意の日に、時間枠内の任意の時間に発生する可能性があります。特定の日付にアップグレードが発生しないようにするには、メンテナンス除外を定義する必要があります。メンテナンス除外は複数の日にわたることができます。
注意
注意
GKEノードの自動アップグレードプロセスの一環として、ノードが再作成されます。ノードが作成されると、自動的に最新バージョンのノードイメージを受け取ります。COSイメージの場合、これは主要なOSアップグレードメカニズムです。

監査

Google Cloud Consoleを使用する:
  1. Google CloudコンソールKubernetes Engineページにアクセスして、Kubernetes Engineに移動します。
  2. クラスターのリストから、目的のクラスターを選択してください。
  3. 各ノードプールについて、ノードプールの詳細ペインを表示し、管理見出しの下で自動アップグレードが有効に設定されていることを確認してください。
コマンドラインの使用:
既存のクラスターのノードプールに対するノード自動アップグレードの存在を確認するには、まずノードプール、クラスター名、ロケーション、プロジェクトの4つの変数を定義し、次のコマンドを実行します。
gcloud container node-pools describe $POOL_NAME --cluster $CLUSTER_NAME --location $LOCATION --project $PROJECT_ID --format json | jq '.management'
上記のコマンドの出力で、JSONキー属性autoUpgradetrueに設定されていることを確認してください。
{ "autoUpgrade": true }
ノードの自動アップグレードが無効になっている場合、上記のコマンドの出力にはautoUpgradeエントリが含まれません。

修復

Google Cloud Consoleを使用する:
  1. Google CloudコンソールKubernetes Engineページにアクセスして、Kubernetes Engineに移動します。
  2. 自動アップグレードが無効になっているノードプールを含むKubernetesクラスターを選択してください。
  3. プールの名前をクリックしてノードプールを選択します。
  4. ノードプールの詳細ペインに移動し、EDITをクリックします。
  5. 管理の見出しの下で、自動アップグレードを有効にするボックスをチェックしてください。
  6. 保存をクリック。
  7. 自動アップグレードが無効になっているすべてのクラスターとノードプールに対して、手順2から6を繰り返します。
コマンドラインの使用:
既存のクラスターのノードプールでノードの自動アップグレードを有効にするには、次のコマンドを実行してください。
gcloud container node-pools update <node_pool_name> --cluster <cluster_name> --location <location> --enable-autoupgrade