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

影響

ノードの自動アップグレードを有効にしても、ノードがすぐにアップグレードされるわけではありません。自動アップグレードは、Kubernetes Engineチームの裁量で定期的に行われます。
クラスターのピーク期間中にアップグレードが発生しないようにするためには、メンテナンスウィンドウを定義する必要があります。メンテナンスウィンドウは、選択可能な4時間の時間枠であり、その間に自動アップグレードが行われます。アップグレードは週の任意の日に、時間枠内の任意の時間に発生する可能性があります。特定の日付にアップグレードが発生しないようにするためには、メンテナンス除外を定義する必要があります。メンテナンス除外は複数の日にわたることができます。

監査

Google Cloud Consoleを使用する
  1. Kubernetes Engine のウェブサイトに移動します。
  2. クラスタのリストから、目的のクラスタを選択してください。
  3. 各ノードプールについて、ノードプール詳細ペインを表示し、管理の見出しの下で自動アップグレードが[有効]に設定されていることを確認してください。
コマンドラインを使用する:
既存のクラスターのノードプールに対するノード自動アップグレードの存在を確認するには、次を実行します:
gcloud container node-pools describe <node_pool_name> --cluster 
<cluster_name> --zone <cluster_zone> --format json | jq '.management'
上記のコマンドの出力で、JSONキー属性autoUpgradeがtrueに設定されていることを確認してください。
{ 
    "autoUpgrade": true 
}
ノードの自動アップグレードが無効になっている場合、上記のコマンド出力にはautoUpgradeエントリが含まれません。

修復

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