プロファイル適用性: レベル2
ノードの自動アップグレードは、既知の脆弱性を軽減するために、ノードを現在のKubernetesおよびOSセキュリティパッチレベルに維持します。
![]() |
注意ノードの自動アップグレードはアルファクラスターでは利用できません。
|
ノードの自動アップグレードは、クラスタまたはノードプール内のノードを最新の安定したKubernetesパッチバージョンおよび基盤となるノードOSで最新の状態に保つのに役立ちます。ノードの自動アップグレードは、手動ノードアップグレードと同じ更新メカニズムを使用します。
ノードプールでノードの自動アップグレードが有効になっている場合、新しい安定版Kubernetesバージョンが利用可能になると自動的にアップグレードがスケジュールされます。アップグレードが実行されると、ノードプールは現在のクラスターマスターのバージョンに合わせてアップグレードされます。セキュリティの観点からは、セキュリティ修正がリリースされた際にKubernetes
Engineにセキュリティアップデートを自動的に適用するという利点があります。
![]() |
注意ノードの自動アップグレードはデフォルトで有効になっています。
クラスターがノード自動修復を有効にして作成された場合でも、これはデフォルトのノードプールにのみ適用されます。後続のノードプールにはデフォルトでノード自動アップグレードが有効になっていません。
|
影響
ノードの自動アップグレードを有効にしても、ノードがすぐにアップグレードされるわけではありません。自動アップグレードは、Kubernetes Engineチームの裁量で定期的に行われます。
クラスターのピーク期間中にアップグレードが発生するのを防ぐために、メンテナンスウィンドウを定義する必要があります。メンテナンスウィンドウは、選択可能な4時間の時間枠であり、その間に自動アップグレードが行われます。アップグレードは週の任意の日に、時間枠内の任意の時間に発生する可能性があります。特定の日付にアップグレードが発生するのを防ぐために、メンテナンス除外を定義する必要があります。メンテナンス除外は複数の日にわたることができます。
監査
Google Cloud Consoleを使用する:
- Kubernetes Engine のウェブサイトにアクセスしてください。
- クラスタのリストから、目的のクラスタを選択してください。
- 各ノードプールについて、ノードプールの詳細ペインを表示し、管理の見出しの下で自動アップグレードが[有効化]に設定されていることを確認してください。
コマンドラインの使用:
既存のクラスターのノードプールに対してノード自動アップグレードの存在を確認するには、次を実行してください。
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を使用する:
- Kubernetes Engine のウェブサイトにアクセスしてください。
- 自動アップグレードが無効になっているノードプールを含むKubernetesクラスターを選択してください。
- プールの名前をクリックしてノードプールを選択します。
- ノードプールの詳細ペインに移動し、[EDIT]をクリックします。
- 管理の見出しの下で、[Enable auto-repair]ボックスをチェックしてください。
- [保存] をクリックします。
- 自動アップグレードが無効になっているすべてのクラスターとノードプールに対して、手順2-6を繰り返します。
コマンドラインの使用:
既存のクラスターのノードプールに対してノードの自動アップグレードを有効にするには、次のコマンドを実行します。
gcloud container node-pools update <node_pool_name> --cluster <cluster_name> --zone <cluster_zone> --enable-autoupgrade