説明
Container-Optimized OS は、GKE の Linux コンテナーで推奨される既定のイメージです。ただし、Ubuntu の機能や Windows コンテナーが必要なワークロードには、それぞれのサポート対象イメージが適しています。COS 以外という理由だけで危険とは限りません。
想定される影響
- サポート対象外または管理されていないイメージでは、セキュリティ修正の欠落や運用の不整合が生じる場合があります。
- ワークロードに対応しない OS に変更すると、コンテナーが動作しなくなる場合があります。
対処方法
- 一般的な Linux ワークロードでは
COS_CONTAINERDを検討し、Ubuntu や Windows が必要なら対応する containerd イメージを選んでください。 - ノードの更新とアプリケーションの互換性をテストしてください。OS を変更する場合は互換性のある新しいノードプールに移行し、Windows コンテナーをそのまま Linux ノードへ移さないでください。
例
イメージ選択を比較する抜粋です。var.project_id とクラスターのロケーションを実環境に合わせ、イメージが対応するマシンタイプなど必要なノード設定を別途用意してください。異なる OS 向けの例であり、既存 Windows プールを単純に変更する手順ではありません。
変更前
hcl
resource "google_container_node_pool" "example" {
project = var.project_id
name = "primary-pool"
location = "us-west1"
cluster = google_container_cluster.example.name
node_config {
image_type = "WINDOWS_LTSC_CONTAINERD"
}
}
変更後
hcl
resource "google_container_node_pool" "example" {
project = var.project_id
name = "primary-pool"
location = "us-west1"
cluster = google_container_cluster.example.name
node_config {
image_type = "COS_CONTAINERD"
}
}
補足:
- 変更前: Windows コンテナー用のサポート対象イメージを選択します。Windows が必要なワークロードには適した選択です。
- 変更後: Linux コンテナー用に Container-Optimized OS を選択します。Linux と互換性のあるワークロードが必要です。