이 페이지에서는 Google Kubernetes Engine(GKE)에서 사용하는 Windows Server 컨테이너를 간략하게 설명합니다. 클러스터를 만드는 방법은 Windows Server 노드 풀을 사용하여 클러스터 만들기를 참조하세요.
개요
GKE 기반 Windows Server 컨테이너를 사용하면 Windows Server 애플리케이션의 민첩성, 배포 속도, 관리 간소화 등 Kubernetes의 이점을 활용할 수 있습니다. 동일한 클러스터에서 Windows Server와 Linux 컨테이너를 나란히 실행할 수 있으므로 중앙 관리 영역에서 두 컨테이너 플랫폼을 모두 관리할 수 있습니다. Microsoft Hyper-V 컨테이너는 현재 지원되지 않습니다.
노드 이미지
Windows Server 반기 채널(SAC) 또는 Windows Server 장기 서비스 채널(LTSC)를 사용하여 Windows Server 컨테이너 노드 이미지를 빌드할 수 있습니다. 단일 클러스터에는 다양한 Windows Server 버전을 사용하는 여러 Windows Server 노드 풀이 있을 수 있지만 각 개별 노드 풀은 하나의 Windows Server 버전만 사용할 수 있습니다. 이러한 버전 간의 차이점에 대한 자세한 내용은 Windows Server 노드 이미지 선택을 참조하세요.
스토리지
Windows Server 컨테이너는 GKE가 제공하는 다양한 스토리지 옵션을 활용할 수 있습니다. Windows에서 GKE 스토리지 옵션을 사용하는 예시는 로컬 SSD를 참조하세요.
Windows에는 ext4
파일 스토리지 유형이 지원되지 않으므로 Windows Server 컨테이너로 작업할 때는 StorageClass
객체를 만들고 PersistentVolumeClaim
객체의 storageClassName
필드에 객체 이름을 지정해야 합니다. Compute Engine 영구 디스크를 사용 중인 경우에는 NTFS를 파일 스토리지 유형으로 사용해야 합니다.
Windows Server 컨테이너에서도 Compute Engine Persistent Disk CSI 드라이버를 사용할 수 있습니다. 자세한 내용은 Compute Engine Persistent Disk CSI 드라이버 사용을 참조하세요.
보안
Linux 컨테이너와 마찬가지로 Windows 컨테이너는 프로세스 및 리소스 격리 경계를 제공합니다. Windows Server 컨테이너는 엔터프라이즈 멀티테넌시에 사용할 수 있습니다. 하지만 Microsoft에서 Windows 컨테이너 이스케이프 취약점에 대한 서비스를 제공하지 않으므로 악의적인 멀티테넌시 시나리오나 다른 위험 수준이 요구되는 시나리오에서는 Windows 노드를 사용하지 않는 것이 좋습니다. 대신 각 애플리케이션 또는 개발팀에 별도의 클러스터와 Google Cloud 프로젝트를 제공하여 격리를 수행해야 합니다.
기능 제한사항
일부 Kubernetes 기능은 아직 Windows Server 컨테이너에서 지원되지 않습니다. 또한 일부 기능은 Linux에만 해당되며 Windows에서는 작동하지 않습니다. 지원되는 Kubernetes 기능과 지원되지 않는 Kubernetes 기능의 전체 목록은 Kubernetes 문서를 참조하세요.
지원되지 않는 Kubernetes 기능 외에도 지원되지 않는 일부 GKE 기능이 있습니다.
GKE 클러스터의 경우 Windows Server 노드 풀에서 다음 기능이 지원되지 않습니다.
- Cloud TPU(
--enable-tpu
) - 이미지 스트리밍
- 네트워크 엔드포인트 그룹을 사용하는 인그레스
- 게이트웨이
- 노드 내 가시성(
--enable-intra-node-visibility
) - IP 매스커레이드 에이전트
- Kubernetes 알파 클러스터(
--enable-kubernetes-alpha
) - 노드 로컬 DNS 캐시
- 클래스 E IP 주소의 비공개 사용
- 공개 IP 주소의 비공개 사용
- 네트워크 정책 로깅
- Kubernetes
service.spec.sessionAffinity
- GPU(
--accelerator
) - 노드당 최대 포드 수를 기본 한도인 110보다 크게 설정
- Filestore CSI 드라이버
- Docker 기반 CloudSQL 인증 프록시
- IPv4/IPv6 이중 스택 네트워킹 IPv6는 Windows 노드에서 지원되지 않습니다.
Windows 노드 풀의 로컬 외부 트래픽 정책은 GKE 버전 v1.23.4-gke.400 이상에서만 지원됩니다.
GKE 클러스터에 사용하려는 다른 Google Cloud 제품이 Windows Server 노드 풀을 지원하지 않을 수 있습니다. 구체적인 제한사항은 해당 제품의 문서를 참조하세요.
리소스
다음 섹션에서는 GKE의 Windows Server 컨테이너 관련 리소스에 대한 링크를 제공합니다.
탐색
GKE의 Windows에 대한 자세한 내용은 다음 리소스를 참조하세요.
- GKE의 Windows Server 컨테이너 실행 블로그 읽어보기
- GKE의 Windows Server 컨테이너 정식 버전 블로그 읽어보기
- Google Distributed Cloud에 대한 Windows Server 지원 블로그 읽어보기
- 기존 OS를 Google Cloud로 마이그레이션 우수사례 읽어보기
시작하기
다음 리소스를 참조하여 시작하세요.
- GKE Enterprise GKE에서 Windows 앱 현대화 및 실행 방법 동영상 시청
- 마이그레이션, 관리, 현대화: GKE 및 GKE Enterprise에서 제공하는 Windows 워크로드 웹 세미나 시청
- Google Cloud에서 Windows 실습 사용
- Google Cloud 데모 센터에서 새로운 Microsoft 및 Windows 데모 사용
- Windows Server 노드 풀을 사용하여 클러스터 만들기 방법 알아보기
생성 및 배포
애플리케이션 생성 및 배포에 대한 안내는 다음 페이지를 참조하세요.
- Windows Server 애플리케이션 배포
- 상태 저장 애플리케이션 배포
- Windows Server 멀티 아키텍처 이미지 빌드
- Compute Engine 영구 디스크 CSI 드라이버 사용
Active Directory와 통합
Active Directory 통합에 대한 안내는 다음 페이지를 참조하세요.
- Google Cloud에서 Active Directory를 실행하기 위한 권장사항
- Active Directory 도메인에 자동으로 조인하도록 Windows Server 노드 구성
- GKE Windows 컨테이너에 Windows 인증으로 ASP.NET 앱 배포
문제 해결
문제 해결에 대한 도움말은 진단 정보 수집을 참조하세요.
탐색
Windows용 GKE Enterprise 사용에 대해 알아보려면 다음 리소스를 참조하세요.
- Windows 워크로드를 마이그레이션하기 위한 Migrate to Containers 알아보기
- Google Distributed Cloud에서 Windows 노드 풀 사용 알아보기
파트너 솔루션
애플리케이션을 현대화할 때는 기존 도구 및 워크플로를 지원하는 엔드 투 엔드 DevOps 관리 환경에도 이를 사용할 수 있기를 원할 수 있습니다. 이를 위해 Google은 빌드, 테스트, 배포, 구성, 모니터링 애플리케이션이 Windows 컨테이너와 올바르게 작동하는지 확인하기 위해 여러 파트너와 협력하고 있습니다. 여기에서는 GKE에서 Windows 컨테이너 지원을 위해 테스트한 몇 가지 사용 사례 및 파트너 솔루션을 보여줍니다.
사용 사례 | 설명 | 파트너 |
---|---|---|
CI/CD | 파트너의 CI/CD 솔루션은 Windows 컨테이너에서 실행되는 애플리케이션을 빌드, 테스트, 배포할 수 있습니다. | |
관측 가능성 | 파트너의 ITOps 및 애플리케이션 성능 관리(APM) 솔루션은 원격 분석을 수집하고 Windows 컨테이너에서 관리되는 인프라 및 애플리케이션에 대한 가시성(대시보드, 보고서, 유용한 정보)을 제공할 수 있습니다. | |
구성 관리 및 정책 | 파트너 솔루션은 Google Cloud에서 Windows 애플리케이션에 대한 보안 비밀 관리 또는 프로비저닝 기능을 제공합니다. | |
보안 | 파트너 솔루션은 Windows 컨테이너에서 실행되는 애플리케이션의 개발 및 구성을 보호할 수 있습니다. |