설명
Container-Optimized OS는 GKE의 Linux 컨테이너에 권장되는 기본 이미지입니다. 다만 Ubuntu 기능이나 Windows 컨테이너가 필요한 워크로드에는 해당 지원 이미지가 적합하며, COS가 아니라는 이유만으로 안전하지 않은 것은 아닙니다.
잠재적 영향
- 지원되지 않거나 관리하지 않는 이미지는 보안 수정 누락과 운영 불일치를 일으킬 수 있습니다.
- 워크로드와 맞지 않는 운영체제로 변경하면 컨테이너가 실행되지 않을 수 있습니다.
해결 방법
- 일반적인 Linux 워크로드에는
COS_CONTAINERD를 검토하고, Ubuntu나 Windows가 필요한 경우 지원되는 containerd 이미지를 선택하세요. - 노드 업그레이드와 애플리케이션 호환성을 시험하세요. 운영체제를 바꾸는 경우 호환되는 새 노드 풀로 마이그레이션하고 Windows 컨테이너를 Linux 노드로 그대로 옮기지 마세요.
예시
이미지 선택을 비교하는 설정 일부입니다. var.project_id와 클러스터 위치를 실제 환경에 맞추고 이미지가 지원하는 머신 유형 등 필요한 노드 설정을 별도로 구성하세요. 두 예제는 서로 다른 운영체제용이며 기존 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와 호환되는 워크로드가 필요합니다.