説明
Container-Optimized OS(COS)は、コンテナー向けに最小構成とセキュリティ強化を施したノード環境です。GKE Standard は Ubuntu with containerd もサポートしており、COS を使わないだけでノードが安全でないとは判断できません。
イメージはワークロードのファイルシステムやパッケージ要件に合わせて選ぶ必要があります。不要なホストパッケージやサポート終了済みのイメージは、管理負担やセキュリティリスクを増やす場合があります。
想定される影響
- 更新が欠けると OS の脆弱性が残る場合があります。
- 互換性を確認せずにイメージを変更すると、ワークロードが中断する場合があります。
対処方法
- 要件に合うサポート中のイメージを選んでください。追加の OS 機能が不要なら
COS_CONTAINERDを検討してください。 - 変更前に互換性をテストし、ノード交換時の容量と中断への対応を計画してください。その後もノードの更新を管理してください。
例
サポートが終了した Deployment Manager 形式に代えて、NodePool リクエスト本文の抜粋を示します。古い Docker ベースのイメージ値を containerd の値に置き換え、完全な作成リクエストに必要な設定は省略しています。
変更前
yaml
name: my-node
config:
imageType: UBUNTU_CONTAINERD
変更後
yaml
name: my-node
config:
imageType: COS_CONTAINERD
補足:
- 変更前: Ubuntu with containerd を選びます。必要な機能によっては適切な選択です。
- 変更後: COS with containerd を選びます。イメージの選択だけでアプリケーション権限やネットワークアクセスが制限されるわけではありません。