ビュー:
プロファイル適用性: レベル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