説明
GKE ノードの自動アップグレードを無効にすると、適時にバージョンを更新する運用担当者の責任が増えます。手動更新が遅れると、既知の脆弱性を含むノードバージョンが残るおそれがあります。
想定される影響
パッチの遅延やノードプール間のバージョン差により、セキュリティリスクと運用負担が増えます。自動アップグレードを無効にしても、コントロールプレーンの更新やすべてのメンテナンスが停止するわけではありません。サポートが終了したノードバージョンは、サービスによって更新される場合があります。
対処方法
management.auto_upgrade: yes を設定し、メンテナンス時間とワークロードで許容できる中断を計画してください。手動管理を選ぶ場合は、サポート期間内の定期更新予定と検証手順を維持してください。自動修復は別の機能です。
例
ノードプールのアップグレード設定の抜粋です。準備済みの cluster リソース、プロジェクト、保護されたサービスアカウントの JSON ファイルのパスを指定してください。
変更前
yaml
- name: create a node pool
google.cloud.gcp_container_node_pool:
name: my-pool
initial_node_count: 4
cluster: "{{ cluster }}"
location: us-central1-a
project: "{{ gcp_project }}"
auth_kind: serviceaccount
service_account_file: "{{ gcp_service_account_file }}"
state: present
- name: create a third node pool
google.cloud.gcp_container_node_pool:
name: my-pool
initial_node_count: 4
cluster: "{{ cluster }}"
location: us-central1-a
project: "{{ gcp_project }}"
auth_kind: serviceaccount
service_account_file: "{{ gcp_service_account_file }}"
state: present
management:
auto_repair: yes
auto_upgrade: no
最初のタスクは管理設定を省略しているため、実際の自動アップグレード状態を確認する必要があります。2 番目は自動修復を有効にし、自動アップグレードを無効にしています。
変更後
yaml
- name: create a node pool
google.cloud.gcp_container_node_pool:
name: my-pool
initial_node_count: 4
cluster: "{{ cluster }}"
location: us-central1-a
project: "{{ gcp_project }}"
auth_kind: serviceaccount
service_account_file: "{{ gcp_service_account_file }}"
state: present
management:
auto_upgrade: yes
自動アップグレードを有効にしています。実施時期とノード置き換えの影響は、クラスターのポリシーやメンテナンス設定と合わせて管理してください。