Windows Server 노드 풀을 사용하여 클러스터 만들기

이 페이지에서는 Microsoft Windows Server를 실행하는 노드 풀을 사용하여 Google Kubernetes Engine(GKE) 클러스터를 만드는 방법을 알아봅니다. 이 클러스터에서는 Windows Server 컨테이너를 사용할 수 있습니다. Microsoft Hyper-V 컨테이너는 현재 지원되지 않습니다. Linux 컨테이너와 마찬가지로 Windows Server 컨테이너는 프로세스 및 네임스페이스 격리를 제공합니다.

Windows Server 노드는 일반적인 Linux 노드보다 더 많은 리소스를 필요로 합니다. Windows OS 실행을 위해 또한 컨테이너에서 실행할 수 없는 Windows Server 구성요소를 위해 Windows Server 노드는 추가적인 리소스가 필요합니다. 이처럼 더 많은 리소스를 필요로 하므로 할당 가능한 리소스는 Linux 노드의 경우보다 적을 수 밖에 없습니다.

Windows Server 노드 풀을 사용하여 클러스터 만들기

이 섹션에서는 Windows Server 컨테이너를 사용하는 클러스터를 만듭니다.

이 클러스터를 만들려면 다음 작업을 완료해야 합니다.

  1. Windows Server 노드 이미지 선택
  2. 업데이트 및 구성 gcloud
  3. 클러스터 및 노드 풀 만들기
  4. kubectl 사용자 인증 정보 가져오기
  5. 클러스터 초기화 대기

GKE의 IAM 서비스 계정 설정

GKE는 노드에 연결된 IAM 서비스 계정을 사용하여 로깅 및 모니터링과 같은 시스템 태스크를 실행합니다. 적어도 이러한 노드 서비스 계정에는 프로젝트에 대한 Kubernetes Engine 기본 노드 서비스 계정(roles/container.defaultNodeServiceAccount) 역할이 있어야 합니다. 기본적으로 GKE는 프로젝트에 자동으로 생성되는 Compute Engine 기본 서비스 계정을 노드 서비스 계정으로 사용합니다.

Compute Engine 기본 서비스 계정에 roles/container.defaultNodeServiceAccount 역할을 부여하려면 다음 단계를 완료합니다.

콘솔

  1. 시작 페이지로 이동합니다.

    시작 페이지로 이동

  2. 프로젝트 번호 필드에서 클립보드에 복사를 클릭합니다.
  3. IAM 페이지로 이동합니다.

    IAM으로 이동

  4. 액세스 권한 부여를 클릭합니다.
  5. 새 주 구성원 필드에 다음 값을 지정합니다.
    PROJECT_NUMBER-compute@developer.gserviceaccount.com
    PROJECT_NUMBER를 복사한 프로젝트 번호로 바꿉니다.
  6. 역할 선택 메뉴에서 Kubernetes Engine 기본 노드 서비스 계정 역할을 선택합니다.
  7. 저장을 클릭합니다.

gcloud

  1. Google Cloud 프로젝트 번호를 찾습니다.
    gcloud projects describe PROJECT_ID \
        --format="value(projectNumber)"

    PROJECT_ID를 프로젝트 ID로 바꿉니다.

    출력은 다음과 비슷합니다.

    12345678901
    
  2. Compute Engine 기본 서비스 계정에 roles/container.defaultNodeServiceAccount 역할을 부여합니다.
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com" \
        --role="roles/container.defaultNodeServiceAccount"

    PROJECT_NUMBER를 이전 단계의 프로젝트 번호로 바꿉니다.

Windows Server 노드 이미지 선택

GKE에서 실행하려면 Windows Server 컨테이너 노드 이미지는 권장 버전인 Windows Server 2022 (LTSC) 또는 GKE에서 더 이상 사용되지 않으며 GKE 버전 1.37 이상을 실행하는 노드 풀에서 사용할 수 없는 Windows Server 2019 (LTSC)에서 빌드되어야 합니다. 단일 클러스터에는 다양한 Windows Server 버전을 사용하는 여러 Windows Server 노드 풀이 있을 수 있지만 각 개별 노드 풀은 하나의 Windows Server 버전만 사용할 수 있습니다.

노드 이미지 선택 시 다음 사항을 고려하세요.

  • 업데이트: LTSC2019는 GKE에서 더 이상 사용되지 않으므로 LTSC2022를 사용하십시오. LTSC2019에 관해 다음 사항을 이해합니다.
    • 노드 이미지 업데이트 없음: Microsoft에서 이미지의 메인스트림 지원을 종료했기 때문에 기본 이미지 업데이트의 안정성 문제로 인해 GKE에서는 LTSC2019의 노드 이미지 업데이트를 제공하지 않습니다. GKE 노드 이미지는 기본 이미지의 2025년 12월 버전으로 고정됩니다. 자세한 내용은 Windows Server 2019을 참조하세요.
    • 1.37 버전과의 호환성: GKE 버전 1.37 이상에서는 LTSC2019를 사용할 수 없습니다. LTSC2019 및 1.37을 사용하여 새 노드 풀을 만들거나 기존 LTSC2019 노드 풀을 1.37로 업그레이드할 수 없습니다.
  • 지원 시간:
    • Windows Server 노드 이미지의 지원 시점에는 OS 이미지의 지원 정책에 설명된 대로 Microsoft에서 제공하는 지원 시점이 적용됩니다. GKE 및 Windows 버전 매핑 섹션에 설명된 대로 gcloud container get-server-config 명령어를 사용하여 GKE Windows 노드 이미지의 지원 종료일을 찾을 수 있습니다.
  • 버전 호환성 및 복잡성:
    • Windows Server CoreNano Server 모두 컨테이너의 기본 이미지로 사용될 수 있습니다.
    • Windows Server 컨테이너 이미지를 여러 Windows Server 버전을 타겟팅할 수 있는 멀티 아키텍처 이미지로 빌드하면 이 버전 관리 복잡성을 관리하는 데 도움이 됩니다.

gcloud 업데이트 및 구성

시작하기 전에 다음 태스크를 수행했는지 확인합니다.

  • Google Kubernetes Engine API를 사용 설정합니다.
  • Google Kubernetes Engine API 사용 설정
  • 이 태스크에 Google Cloud CLI를 사용하려면 gcloud CLI를 설치한 후 초기화합니다. 이전에 gcloud CLI를 설치했으면 gcloud components update 명령어를 실행하여 최신 버전을 가져옵니다. 이전 gcloud CLI 버전에서는 이 문서의 명령어를 실행하지 못할 수 있습니다.

클러스터 및 노드 풀 만들기

Windows Server 컨테이너를 실행하려면 클러스터에 Windows 노드 풀과 Linux 노드 풀이 각각 하나 이상 있어야 합니다. Windows Server 노드 풀만 사용해서는 클러스터를 만들 수 없습니다. Linux 노드 풀은 중요한 클러스터 부가기능을 실행하는 데 필요합니다.

Windows Server 노드 풀을 사용하여 클러스터를 만들기 전에 Windows Server 노드 풀 업그레이드 섹션을 검토하세요.

Linux 노드 풀은 클러스터 부가기능을 실행할 수 있을 만큼 충분한 용량을 확보하는 것이 중요하므로 자동 확장을 사용하는 것이 좋습니다.

gcloud

다음 필드를 사용하여 클러스터를 만듭니다.

gcloud container clusters create CLUSTER_NAME \
    --location=CONTROL_PLANE_LOCATION \
    --enable-ip-alias \
    --num-nodes=NUMBER_OF_NODES \
    --cluster-version=VERSION_NUMBER \
    --release-channel CHANNEL

다음을 바꿉니다.

  • CLUSTER_NAME: 클러스터에 대해 선택한 이름입니다.
  • CONTROL_PLANE_LOCATION: 클러스터의 컨트롤 플레인에 대한 Compute Engine 위치입니다. 리전 클러스터의 경우 리전 또는 영역 클러스터의 경우 영역을 제공합니다.
  • --enable-ip-alias별칭 IP를 사용 설정합니다. Windows Server 노드에는 별칭 IP가 필요합니다. 별칭 IP의 이점에 대한 자세한 내용은 별칭 IP를 사용한 기본 컨테이너 라우팅 이해를 참조하세요.
  • NUMBER_OF_NODES: 만드는 Linux 노드 수입니다. 클러스터 부가기능을 실행하려면 충분한 컴퓨팅 리소스를 제공해야 합니다. 이는 선택적 필드이며 생략하면 기본값 3을 사용합니다.
  • VERSION_NUMBER: 사용할 특정 클러스터 버전입니다. 출시 채널을 지정하지 않으면 GKE가 해당 버전을 이용할 수 있는 가장 성숙한 출시 채널에 클러스터를 등록합니다.
  • CHANNEL: 클러스터를 등록할 출시 채널입니다. rapid, regular, stable 또는 None(지원 중단됨) 중 하나일 수 있습니다. 기본적으로 클러스터는 regular 출시 채널에 등록됩니다.

Compute Engine 기본 서비스 계정 대신 노드에서 사용할 수 있는 최소 권한의 IAM 서비스 계정을 지정하는 것이 좋습니다. 최소 권한의 서비스 계정을 만드는 방법은 최소 권한 서비스 계정 사용을 참조하세요.

gcloud CLI에서 커스텀 서비스 계정을 지정하려면 명령어에 다음 플래그를 추가합니다.

--service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com

SERVICE_ACCOUNT_NAME을 최소 권한 서비스 계정 이름으로 바꿉니다.

다음 필드를 사용하여 Windows Server 노드 풀을 만듭니다.

gcloud container node-pools create NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --location=CONTROL_PLANE_LOCATION \
    --image-type=WINDOWS_LTSC_CONTAINERD \
    --machine-type=MACHINE_TYPE_NAME \
    --windows-os-version=WINDOWS_OS_VERSION

다음을 바꿉니다.

  • NODE_POOL_NAME: Windows Server 노드 풀에 대해 선택한 이름입니다.
  • CLUSTER_NAME: 위에서 만든 클러스터의 이름입니다.
  • CONTROL_PLANE_LOCATION: 클러스터의 컨트롤 플레인에 대한 Compute Engine 위치입니다. 리전 클러스터의 경우 리전 또는 영역 클러스터의 경우 영역을 제공합니다.
  • MACHINE_TYPE_NAME: 머신 유형을 정의합니다. Windows Server 노드에 추가 리소스가 필요하므로 n1-standard-2가 권장되는 최소 머신 유형입니다. 머신 유형 f1-microg1-small은 지원되지 않습니다. 요금은 머신 유형마다 다르게 청구됩니다. 자세한 내용은 머신 유형 가격표를 참조하세요.
  • WINDOWS_OS_VERSION: 이미지 유형 WINDOWS_LTSC_CONTAINERD에 사용할 Windows OS 버전을 정의하는 선택적 플래그입니다. GKE 버전 1.37 이상에서는 LTSC2022 (ltsc2022)만 사용할 수 있습니다. 1.36 이하에서는 값을 ltsc2022로 명시적으로 설정하는 것이 좋습니다. 그렇지 않으면 GKE에서 LTSC2019 (ltsc2019)를 사용하는데, 이는 GKE에서 지원 중단되므로 권장되지 않습니다.

다음 예시에서는 Windows Server 2022 노드 풀을 만드는 방법을 보여줍니다.

gcloud container node-pools create node_pool_name \
    --cluster=cluster_name \
    --location=us-central1 \
    --image-type=WINDOWS_LTSC_CONTAINERD \
    --windows-os-version=ltsc2022

다음 예시에서는 Windows Server 2022 OS 이미지를 사용하도록 기존 Windows 노드 풀을 업데이트하는 방법을 보여줍니다.

gcloud container node-pools create node_pool_name \
    --cluster=cluster_name \
    --location=us-central1 \
    --windows-os-version=ltsc2022

콘솔

  1. Google Cloud 콘솔에서 Kubernetes 클러스터 만들기 페이지로 이동합니다.

    Kubernetes 클러스터 만들기로 이동

  2. 클러스터 기본사항 섹션에서 다음을 완료합니다.
    1. 클러스터의 이름을 입력합니다.
    2. 위치 유형에서 클러스터에 사용할 리전 또는 영역을 선택합니다.
    3. 출시 채널에서 출시 채널과 원하는 경우 타겟 버전을 선택합니다.
  3. 탐색 창의 노드 풀에서 default-pool을 클릭하여 Linux 노드 풀을 만듭니다. 이 노드 풀을 구성할 때는 클러스터 부가기능을 실행하기에 충분한 컴퓨팅 리소스를 제공해야 합니다. 또한 노드 및 해당 리소스(예: 방화벽 경로)에 사용 가능한 리소스 할당량이 있어야 합니다.
  4. 페이지 상단에서 노드 풀 추가를 클릭하여 Windows Server 노드 풀을 만듭니다.
  5. 노드 풀 세부정보 섹션에서 다음을 완료합니다.
    1. 노드 풀이름을 입력합니다.
    2. 노드 풀에서 만들 노드 수를 입력합니다.
  6. 탐색창의 노드 풀에서 노드를 클릭합니다.

    1. 이미지 유형 드롭다운 목록에서 다음 노드 이미지를 선택합니다.

      • containerd를 포함한 Windows 장기 서비스 채널

      자세한 내용은 Windows 노드 이미지 선택 섹션을 참조하세요.

    2. 인스턴스에 사용할 기본 머신 구성을 선택합니다. Windows Server 노드에 추가 리소스가 필요하므로 n1-standard-2가 권장되는 최소 크기입니다. 머신 유형 f1-microg1-small은 지원되지 않습니다. 요금은 머신 유형마다 다르게 청구됩니다. 자세한 내용은 머신 유형 가격표를 참조하세요.

  7. 탐색창의 클러스터에서 네트워킹을 선택합니다.

    1. 고급 네트워킹 옵션에서 VPC 기반 트래픽 라우팅 사용 설정(별칭 IP 사용)이 선택되어 있는지 확인합니다. Windows Server 노드에는 별칭 IP가 필요합니다. 별칭 IP의 이점에 대한 자세한 내용은 별칭 IP를 사용한 기본 컨테이너 라우팅 이해를 참조하세요.
  8. 만들기를 클릭합니다.

Terraform

Terraform을 사용해서 GKE Standard 클러스터 및 Windows Server 노드 풀을 만들려면 다음 예시를 참조하세요.

resource "google_container_cluster" "default" {
  name     = "gke-standard-regional-cluster"
  location = "us-west1"

  initial_node_count = 1
}

resource "google_container_node_pool" "default" {
  name     = "windows-node-pool"
  cluster  = google_container_cluster.default.name
  location = google_container_cluster.default.location

  node_config {
    image_type = "WINDOWS_LTSC_CONTAINERD"
  }
}

이 예시는 containerd와 함께 Windows Server LTSC를 사용합니다. Windows Server 2022 및 Windows Server 2019 OS 이미지의 이미지 유형입니다(GKE에서 지원 중단됨). 노드 이미지에 대한 자세한 내용은 Windows 노드 이미지 선택을 참고하세요.

Terraform 사용에 대한 자세한 내용은 GKE에 대한 Terraform 지원을 참조하세요.

Windows Server 노드 풀을 만든 후 컨트롤 플레인이 업데이트되면 몇 분 동안 클러스터가 RECONCILE 상태가 됩니다.

kubectl 사용자 인증 정보 가져오기

만든 클러스터에 kubectl이 작동하도록 하려면 get-credentials 명령어를 사용하세요.

gcloud container clusters get-credentials CLUSTER_NAME \
    --location CONTROL_PLANE_LOCATION

get-credentials 명령어에 대한 자세한 내용은 SDK get-credentials 문서를 참조하세요.

클러스터 초기화 대기

클러스터를 사용하기 전에 windows.config.common-webhooks.networking.gke.io가 생성될 때까지 몇 초 동안 기다립니다. 이 웹훅은 kubernetes.io/os: windows 노드 선택기로 만든 포드에 일정 내결함성을 추가하여 포드가 Windows Server 노드에서 실행되도록 합니다. 또한 포드를 검증하여 Windows에서 지원되는 기능만 사용하는지 확인합니다.

웹훅이 생성되었는지 확인하려면 다음 명령어를 실행합니다.

kubectl get mutatingwebhookconfigurations

다음을 실행하는 웹훅이 출력에 표시되어야 합니다.

NAME                                              CREATED AT
windows.config.common-webhooks.networking.gke.io  2019-12-12T16:55:47Z

이제 Windows 애플리케이션을 배포할 수 있는 2개의 노드 풀(Linux 1개와 Windows 1개)이 있는 클러스터가 생겼습니다.

GKE 및 Windows 버전 매핑

Microsoft는 새로운 LTSC 버전을 2~3년마다 출시합니다. 이러한 새 버전은 일반적으로 새 GKE 부 버전에서 사용할 수 있습니다. GKE 부 버전 내에서는 LTSC 버전이 일반적으로 변경되지 않습니다.

GKE 버전과 Windows Server 버전 간의 버전 매핑을 보려면 gcloud beta container get-server-config 명령어를 사용합니다.

gcloud beta container get-server-config

응답의 windowsVersionMaps 필드에 버전 매핑이 반환됩니다. 응답을 필터링하여 클러스터의 특정 GKE 버전에 대한 버전 매핑을 보려면 Linux 셸 또는 Cloud Shell에서 다음 단계를 수행합니다.

  1. 다음 변수를 설정합니다.

    CLUSTER_NAME=CLUSTER_NAME \
    NODE_POOL_NAME=NODE_POOL_NAME \
    CONTROL_PLANE_LOCATION=CONTROL_PLANE_LOCATION
    

    다음을 바꿉니다.

    • CLUSTER_NAME: 클러스터 이름입니다.
    • NODE_POOL_NAME: Windows Server 노드 풀의 이름입니다.
    • CONTROL_PLANE_LOCATION: 클러스터의 컨트롤 플레인에 대한 Compute Engine 위치입니다. 리전 클러스터의 경우 리전 또는 영역 클러스터의 경우 영역을 제공합니다.
  2. 노드 풀 버전을 가져와서 NODE_POOL_VERSION 변수에 저장합니다.

    NODE_POOL_VERSION=`gcloud container node-pools describe $NODE_POOL_NAME \
    --cluster=$CLUSTER_NAME \
    --location=$CONTROL_PLANE_LOCATION \
    --format="value(version)"`
    
  3. NODE_POOL_VERSION의 Windows Server 버전을 가져옵니다.

    gcloud beta container get-server-config \
        --location=$CONTROL_PLANE_LOCATION \
        --format="yaml(windowsVersionMaps.\"$NODE_POOL_VERSION\")"
    

    출력은 다음과 비슷합니다.

    windowsVersionMaps:
      1.18.6-gke.6601:
        windowsVersions:
        - imageType: WINDOWS_SAC
          osVersion: 10.0.18363.1198
          supportEndDate:
            day: 10
            month: 5
            year: 2022
        - imageType: WINDOWS_LTSC
          osVersion: 10.0.17763.1577
          supportEndDate:
            day: 9
            month: 1
            year: 2024
    
  4. WINDOWS_LTSC 이미지 유형의 Windows Server 버전을 가져옵니다.

    gcloud beta container get-server-config \
      --flatten=windowsVersionMaps.\"$NODE_POOL_VERSION\".windowsVersions \
      --filter="windowsVersionMaps.\"$NODE_POOL_VERSION\".windowsVersions.imageType=WINDOWS_LTSC" \
      --format="value(windowsVersionMaps.\"$NODE_POOL_VERSION\".windowsVersions.osVersion)"
    

    출력은 다음과 비슷합니다.

    10.0.17763.1577
    

Windows Server 노드 풀 업그레이드

Windows Server 컨테이너 버전 호환성 요구사항은 노드 풀을 업그레이드하기 전에 새 GKE 버전의 Windows Server 버전과 일치하도록 컨테이너 이미지를 다시 빌드해야 할 수도 있음을 의미합니다. 이 유형의 노드 풀 업그레이드에 관한 다음 권장사항을 검토하세요.

  • 필요한 경우 유지보수 제외를 사용하여 노드 자동 업그레이드를 방지합니다.
  • 버전 매핑을 확인하고 Windows Server 컨테이너 이미지를 여러 Windows Server 버전을 타겟팅할 수 있는 멀티 아키텍처 이미지로 빌드하여 컨테이너 이미지가 노드와 계속 호환되도록 합니다. 그런 다음 컨테이너 배포를 업데이트하여 GKE 노드 풀 업그레이드를 수동으로 호출하기 전에 현재 및 다음 GKE 버전 모두에서 작동하는 멀티 아키텍처 이미지를 타겟팅할 수 있습니다.
  • 노드 자동 업그레이드를 방지하는 경우 노드의 버전이 컨트롤 플레인 버전보다 부 버전 3개 이상 뒤쳐지면 안되므로 수동 노드 풀 업그레이드를 정기적으로 수행해야 합니다.
  • 새 GKE 버전과 사용되는 Windows OS 버전에 대한 업데이트를 사전에 받으려면 업그레이드 알림을 구독하세요.
  • 최신 Windows Server 버전을 타겟팅하는 멀티 아키텍처 Windows Server 컨테이너 이미지를 지속적으로 빌드하는 경우에만 GKE에서 노드 자동 업그레이드를 실행하도록 허용합니다. 노드 자동 업그레이드로 인해 Windows Server LTSC 노드 이미지 유형에 문제가 발생할 가능성은 낮지만 버전 비호환성 문제가 발생할 위험이 있습니다.

Windows 업데이트

Windows Server 노드에는 Windows 업데이트가 사용 중지됩니다. 자동 업데이트로 인해 예측할 수 없는 시간에 노드가 다시 시작될 수 있으며, 노드가 시작된 후에 설치된 Windows 업데이트는 GKE에서 노드를 다시 만들 때 손실됩니다. GKE는 새 GKE 출시에 사용되는 Windows Server 노드 이미지를 정기적으로 업데이트하여 Windows 업데이트를 설치할 수 있도록 합니다. Windows 업데이트가 Microsoft에서 출시되는 시점과 GKE에서 제공되는 시점 사이에 지연이 발생할 수 있습니다. 중요한 보안 업데이트가 출시되면 GKE는 Windows Server 노드 이미지를 최대한 신속하게 업데이트합니다.

Windows 포드 및 서비스 통신 방법 제어

네트워크 정책을 사용하여 Windows 포드 및 서비스의 통신 방법을 제어할 수 있습니다.

GKE 버전 1.22.2 이상에서 네트워크 정책이 사용 설정된 클러스터에서 Windows Server 컨테이너를 설정할 수 있습니다. 이 기능은 WINDOWS_LTSC 또는 WINDOWS_LTSC_CONTAINERD 노드 이미지 유형을 사용하는 클러스터에 사용할 수 있습니다.

컨트롤 플레인이나 노드가 이전 버전을 실행하고 있으면 노드 풀과 컨트롤 플레인을 GKE 버전 1.22.2 이상으로 업그레이드하여 네트워크 정책을 지원하는 버전으로 노드 풀을 마이그레이션할 수 있습니다. 이 옵션은 --enable-dataplane-v2 플래그로 클러스터를 만든 경우에만 사용할 수 있습니다.

네트워크 정책을 사용 설정하면 이 기능을 사용 설정하기 전에 Windows Server 컨테이너에서 작동하지 않는 정책을 포함하여 이전에 구성된 모든 정책이 활성화됩니다.

일부 클러스터는 네트워크 정책이 사용 설정된 클러스터의 Windows Server 컨테이너에서 사용될 수 없습니다. 자세한 내용은 제한사항 섹션을 참조하세요.

로그 보기 및 쿼리

로깅은 GKE 클러스터에서 자동으로 사용 설정됩니다. Kubernetes Engine 모니터링을 사용하여 Windows Server 노드에서 컨테이너 로그와 다른 서비스의 로그를 볼 수 있습니다.

다음은 컨테이너 로그를 가져오기 위한 필터의 예시입니다.

resource.type="k8s_container"
resource.labels.cluster_name="your_cluster_name"
resource.labels.namespace_name="your_namespace_id"
resource.labels.container_name="your_container_name"
resource.labels.Pod_name="your_Pod_name"

원격 데스크톱 프로토콜(RDP)을 사용하여 Windows Server 노드에 액세스

RDP를 사용하여 클러스터의 Windows Server 노드에 연결할 수 있습니다. 연결 방법에 대한 안내는 Compute Engine 문서의 Windows 인스턴스에 연결을 참조하세요.

멀티 아키텍처 이미지 빌드

멀티 아키텍처 이미지를 수동으로 빌드하거나 Cloud Build 빌더를 사용할 수 있습니다. 자세한 내용은 Windows 멀티 아키텍처 이미지 빌드를 참조하세요.

gMSA 사용

다음 단계는 Windows Server 노드 풀에서 그룹 관리형 서비스 계정(gMSA)을 사용하는 방법을 보여줍니다.

  1. AD 도메인에 자동으로 조인하도록 클러스터에서 Windows Server 노드를 구성합니다. 자세한 안내는 Active Directory 도메인에 자동으로 조인하도록 Windows Server 노드 구성을 참조하세요.

  2. 도메인 조인 서비스에서 자동으로 생성된 보안 그룹에 gMSA 액세스 권한을 생성하고 부여합니다. 이 단계는 AD 도메인에 대해 관리 액세스 권한이 있는 머신에서 수행되어야 합니다.

    $instanceGroupUri = gcloud container node-pools describe NODE_POOL_NAME --cluster CLUSTER_NAME --format="value(instanceGroupUrls)"
    $securityGroupName = ([System.Uri]$instanceGroupUri).Segments[-1]
    $securityGroup = dsquery group -name $securityGroupName
    $gmsaName = GMSA_NAME
    $dnsHostName = DNS_HOST_NAME
    
    New-ADServiceAccount -Name $gmsaName -DNSHostName $dnsHostName -PrincipalsAllowedToRetrieveManagedPassword $securityGroup
    
    Get-ADServiceAccount $gmsaName
    Test-ADServiceAccount $gmsaName
    

    다음을 바꿉니다.

    • NODE_POOL_NAME: Windows Server 노드 풀의 이름입니다. 자동으로 생성된 보안 그룹은 Windows Server 노드 풀과 이름이 같습니다.
    • CLUSTER_NAME: 클러스터 이름입니다.
    • GMSA_NAME: 새 gMSA에 대해 선택한 이름입니다.
    • DNS_HOST_NAME: 만든 서비스 계정의 정규화된 도메인 이름(FQDN)입니다. 예를 들어 GMSA_NAMEwebapp01이고 도메인이 example.com이면 DNS_HOST_NAMEwebapp01.example.com입니다.
  3. Windows 포드 및 컨테이너에 GMSA 구성 튜토리얼의 안내에 따라 gMSA를 구성합니다.

Windows Server 노드 풀 삭제

gcloud 또는 Google Cloud 콘솔을 사용하여 Windows Server 노드 풀을 삭제합니다.

gcloud

gcloud container node-pools delete NODE_POOL_NAME \
    --cluster=CLUSTER_NAME
    --location=CONTROL_PLANE_LOCATION

콘솔

Google Cloud 콘솔을 사용하여 Windows Server 노드 풀을 삭제하려면 다음 단계를 수행합니다.

  1. Google Cloud 콘솔에서 Google Kubernetes Engine 페이지로 이동합니다.

    Google Kubernetes Engine으로 이동

  2. 수정할 클러스터 옆의 작업을 클릭한 다음 수정을 클릭합니다.

  3. 노드 탭을 선택합니다.

  4. 노드 풀 섹션에서 삭제할 노드 풀 옆에 있는 삭제를 클릭합니다.

  5. 확인 메시지가 표시되면 삭제를 다시 클릭합니다.

제한사항

Windows Server 노드 풀에서는 다음 기능이 지원되지 않습니다.

GKE 클러스터와 함께 사용할 수 있는 다른 Google Cloud 제품의 구체적인 제한사항은 해당 제품의 문서를 참고하세요.

문제 해결

Windows Server 노드 풀 관련 문제 해결 안내는 Windows Server 노드 풀 문제 해결을 참고하세요.

일반적인 안내는 포드 디버깅서비스에 관한 Kubernetes 문서를 참고하세요.

다음 단계