이 페이지에서는 Google Kubernetes Engine(GKE) 표준 클러스터에서 Windows Server 반기 채널(SAC) 노드 이미지 유형의 서비스 종료에 대한 정보를 제공합니다. 지원되는 노드 이미지로 마이그레이션하는 방법은 지원되는 Windows 이미지로 마이그레이션을 참조하세요.
Windows Server SAC 삭제 정보
Microsoft는 2022년 8월 9일에 Windows Server 반기 채널 서비스를 종료합니다. 이는 Windows Server 버전 20H2 서비스 종료와 일치합니다. Windows Server는 장기 서비스 채널(LTSC)을 기본 출시 채널로 사용할 것입니다. 이 변경사항으로 인해 Microsoft에서 Windows Server SAC 이미지의 보안 업데이트를 포함한 중요 업데이트를 더 이상 출시하지 않습니다. 따라서 GKE에서 이러한 이미지에 대한 지원을 더 이상 제공할 수 없습니다.
GKE Standard에서는 더 이상 Windows Server SAC 이미지 유형을 사용하는 새 노드 풀을 만들 수 없습니다. 기존 노드 풀에서 다음 이미지 유형 중 하나를 사용하는 경우 GKE 버전을 업그레이드하려면 지원되는 이미지 유형으로 마이그레이션해야 합니다.
windows_sac
: Docker를 포함한 Windows Server SACwindows_sac_containerd
: containerd를 포함한 Windows Server SAC
기존 Windows Server SAC 노드 풀은 2022년 8월 9일 이후에도 계속 작동합니다. 하지만 SAC에 대한 향후 업데이트가 없기 때문에 이러한 노드는 보안 취약점 및 플랫폼 불안정성에 노출될 위험이 있습니다.
타임라인 및 마일스톤
2022년 8월 9일 후에는 더 이상 다음을 수행할 수 없습니다.
- Windows Server SAC 노드 이미지를 사용하는 새 클러스터 만들기
- Windows Server SAC 노드 이미지를 사용하는 새 노드 풀 만들기
--autoprovisioning-image-type
플래그를windows_sac
또는windows_sac_containerd
로 설정하여 노드 자동 프로비저닝 사용 설정- 기존 Windows Server SAC 노드의 GKE 버전 업그레이드
어떻게 해야 할까요?
Windows Server SAC 노드 풀을 windows_ltsc_containerd
노드 이미지 유형으로 마이그레이션하는 것이 좋습니다. GKE 버전 1.23 이상에서 이 이미지 유형은 새 클러스터 및 노드 풀에 지원되는 유일한 Windows Server 이미지 유형입니다.
Docker를 컨테이너 런타임으로 사용하는 windows_ltsc
이미지 유형은 Docker 노드 이미지 지원 중단으로 인해 GKE 버전 1.23 이상에서 지원되지 않습니다.
현재 GKE 버전에 따라 다음을 수행합니다.
- GKE 버전 1.20 이하: 노드 풀을
windows_ltsc
이미지로 마이그레이션합니다. - GKE 버전 1.21 이상: 노드 풀을
windows_ltsc_containerd
이미지로 마이그레이션합니다.
마이그레이션의 영향
Docker를 컨테이너 런타임으로 사용하는 windows_sac
이미지를 현재 사용 중인 경우 windows_ltsc_containerd
이미지 유형으로 마이그레이션하면 Docker 명령어에 종속된 기존 도구에 영향을 줄 수 있습니다. containerd를 사용하는 이미지 유형으로 마이그레이션할 경우의 영향에 대한 자세한 내용은 Docker 노드 이미지 지원 중단 정보의 상황 목록을 참조하세요.
Windows Server LTSC로 마이그레이션
마이그레이션 프로세스는 다음과 같은 단계로 구성됩니다.
- 아키텍처 업데이트를 위한 컨테이너 이미지 식별
- 멀티 아키텍처 Windows 컨테이너 이미지 빌드
- 기존 노드 풀을 Windows Server LTSC로 업데이트
아키텍처 업데이트를 위한 컨테이너 이미지 식별
Windows Server SAC에서 실행되는 단일 아키텍처 컨테이너 이미지는 Windows Server LTSC 이미지와 호환되지 않습니다. 호환되지 않는 컨테이너 이미지를 식별하고 해당 아키텍처 업데이트를 준비해야 합니다. 멀티 아키텍처 이미지가 있는 경우 이미지를 검사하여 Windows Server 2019 LTSC 변형(버전 번호 10.0.17763.X
)을 지원하는지 확인해야 합니다.
단일 아키텍처 이미지
지원되는 Windows 버전을 검사하려면 포드가 실행되는 Windows Server SAC 노드 내에서 다음 명령어를 실행합니다.
docker image inspect IMAGE_NAME
IMAGE_NAME
을 컨테이너 이미지 이름으로 바꿉니다.
이미지가 Windows Server SAC 변형을 지원하는 경우 출력은 다음과 비슷합니다.
[
{
...
"Architecture": "amd64",
"Os": "windows",
"OsVersion": "10.0.19042.1645" // 1645 can be any build number
}
]
이미지가 Windows Server LTSC 변형을 지원하는 경우 출력은 다음과 비슷합니다.
[
{
...
"Architecture": "amd64",
"Os": "windows",
"OsVersion": "10.0.17763.2686" // 2686 can be any build number
}
]
멀티 아키텍처 이미지
이미 멀티 아키텍처 Windows 컨테이너 이미지를 사용하는 경우 이미지를 검사하여 Windows Server 2019 LTSC 변형(버전 번호 10.0.17763.X
)을 지원하는지 확인합니다.
docker manifest inspect MANIFEST_NAME
MANIFEST_NAME
을 Docker 매니페스트의 이름으로 바꿉니다(예: eu.gcr.io/gke-release-staging/internet-explorer:v2
).
출력은 다음과 비슷합니다.
{
{
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"size": 1575,
"digest": "...",
"platform": {
"architecture": "amd64",
"os": "windows",
"os.version": "10.0.17763.1935"
}
}
멀티 아키텍처 Windows 컨테이너 이미지 빌드
Windows Server 2019 LTSC 변형을 지원하는 업데이트가 필요한 이미지를 식별한 후에는 멀티 아키텍처 Windows Server 이미지를 빌드하는 것이 좋습니다.
멀티 아키텍처 이미지를 빌드하면 GKE가 제공하는 모든 Windows 버전에서 컨테이너가 실행됩니다. containerd는 마이그레이션된 노드 풀에서 Windows Server LTSC 버전을 감지하고 매니페스트에서 적절한 이미지를 선택하므로 멀티 아키텍처 이미지를 사용하면 마이그레이션 환경이 간편해집니다.
이러한 이미지는 수동으로 또는 Cloud Build gke-windows-builder를 사용하여 빌드할 수 있습니다. 새로운 Windows Server LTSC 이미지가 출시될 때마다 이를 지원하도록 정기적으로 업데이트되는 Cloud Build 빌더를 사용하는 것이 좋습니다. 멀티 아키텍처 이미지에 대한 수동 및 Cloud Build 지침은 Windows Server 멀티 아키텍처 이미지 빌드를 참조하세요.
노드를 Windows Server LTSC로 업그레이드
Windows Server LTSC 변형을 지원하도록 컨테이너 이미지를 업데이트한 후 노드 풀을 Windows Server LTSC 노드 이미지로 마이그레이션합니다. 프로덕션 환경을 업그레이드하기 전에 스테이징 또는 테스트 클러스터에서 마이그레이션을 테스트하여 배포가 의도한 대로 작동하는지 확인하는 것이 좋습니다. 이미지를 업데이트하려면 다음 중 하나를 수행하세요.
- 새 노드 풀을 만들고 새 노드로 워크로드 마이그레이션
기존 노드 풀의 이미지 유형 업그레이드
새 노드 풀 만들기
새 노드 풀을 만듭니다.
gcloud container node-pools create NODE_POOL_NAME \ --cluster=CLUSTER_NAME \ --image-type=WINDOWS_LTSC_IMAGE
다음을 바꿉니다.
NODE_POOL_NAME
: 새 노드 풀의 이름입니다.CLUSTER_NAME
: GKE 클러스터의 이름입니다.WINDOWS_LTSC_IMAGE
: 사용할 Windows Server LTSC 이미지(windows_ltsc_containerd
또는windows_ltsc
)입니다.
워크로드 노드에 다음 nodeSelector를 추가합니다.
spec: ... nodeSelector: kubernetes.io/os: windows cloud.google.com/gke-os-distribution: windows_ltsc
또한 이 nodeSelector를
windows_sac
에 라벨 값으로 사용하여 새 노드에서 특정 포드가 예약되지 않도록 GKE에 지시할 수 있습니다.업데이트된 매니페스트를 배포합니다.
kubectl apply -f MANIFEST_NAME
이전 노드 풀을 0으로 조정합니다.
gcloud container node-pools update OLD_POOL \ --cluster=CLUSTER_NAME \ --min-nodes=0 \ --max-nodes=NODE_COUNT
다음을 바꿉니다.
OLD_POOL
: 기존 Windows Server SAC 노드 풀의 이름입니다.NODE_COUNT
: 노드 풀의 최대 노드 수입니다. 이 명령어를 반복하여 이 수를 0으로 점차 줄입니다. 문제가 발생하면 이 값을 다시 확장하세요.
완전히 마이그레이션되면 이전 노드 풀을 삭제합니다.
gcloud container node-pools delete OLD_POOL \ --cluster=CLUSTER_NAME
기존 노드 풀 업데이트
기존 Windows Server SAC 노드 풀에서 노드 이미지 유형을 전환합니다.
gcloud container clusters upgrade CLUSTER_NAME \ --region=COMPUTE_REGION \ --node-pool=NODE_POOL \ --image-type=WINDOWS_LTSC_IMAGE
다음을 바꿉니다.
CLUSTER_NAME
: GKE 클러스터의 이름입니다.COMPUTE_REGION
: 클러스터의 Compute Engine 리전입니다. 영역 클러스터의 경우--zone=COMPUTE_ZONE
을 사용합니다.NODE_POOL
: Windows Server SAC 노드 풀의 이름입니다.WINDOWS_LTSC_IMAGE
: 사용할 Windows Server LTSC 이미지(windows_ltsc_containerd
또는windows_ltsc
)입니다.
다음 단계
- 지원되는 노드 이미지 유형 알아보기
- 멀티 아키텍처 Windows Server 이미지를 빌드하는 방법 알아보기
- Active Directory 도메인에 자동 조인되도록 Windows 노드를 구성하는 방법 알아보기
- Docker에서 containerd 노드 이미지로 마이그레이션합니다.