説明
Container-Optimized OS(COS)は、コンテナー向けに最小構成とセキュリティ強化を施したノード環境です。GKE は他のイメージもサポートしており、COS を使わないだけで脆弱とは判断できません。Windows ワークロードには Windows ノードが必要です。
サポート期間、パッチ状況、必要な OS 機能を併せて確認してください。不要なホストパッケージや不統一な更新管理はリスクを増やす場合があります。
想定される影響
- 更新が欠けると OS の脆弱性が残る場合があります。
- 互換性のないイメージへの交換で、ワークロードが起動しなかったり中断したりする場合があります。
対処方法
config.image_typeにワークロードと GKE バージョンがサポートするイメージを指定してください。追加の OS 機能が不要な Linux ワークロードではCOS_CONTAINERDを検討してください。- 変更前に互換性をテストし、ノード交換時の容量と中断への対応を計画してください。ノードの更新も継続して管理してください。
例
異なる OS 向けのタスクの抜粋です。Windows ワークロードをそのまま Linux ノードに移すことはできません。実際の cluster 結果オブジェクト、プロジェクト、サービスアカウントの JSON ファイルを用意してください。
変更前
yaml
- name: 노드 풀 생성
google.cloud.gcp_container_node_pool:
name: my-pool
initial_node_count: 4
cluster: "{{ cluster }}"
location: us-central1-a
project: test_project
auth_kind: serviceaccount
service_account_file: /tmp/auth.pem
state: present
config:
image_type: WINDOWS_LTSC_CONTAINERD
変更後
yaml
- name: 노드 풀 생성
google.cloud.gcp_container_node_pool:
name: my-pool
initial_node_count: 4
cluster: "{{ cluster }}"
location: us-central1-a
project: test_project
auth_kind: serviceaccount
service_account_file: /tmp/auth.pem
state: present
config:
image_type: COS_CONTAINERD
補足:
- 変更前: Windows with containerd を選びます。Windows ワークロードには適切な構成になり得ます。
- 変更後: Linux 用の COS with containerd を選びます。ワークロードの互換性を確認せずに適用する代替設定ではありません。