경로를 사용하여 GKE 클러스터 만들기

Cluster Toolkit을 사용하여 Pathways 기반 워크로드용으로 사전 구성된 Google Kubernetes Engine (GKE) 클러스터를 만들 수 있습니다. gcloud를 사용하여 경로 기반 워크로드용 GKE 클러스터를 수동으로 만들 수도 있습니다.

시작하기 전에

다음 사항이 필요합니다.

로컬 환경 설정

사용자 인증 정보로 Google Cloud 로그인합니다.

gcloud auth application-default login

워크로드에 적합한 값으로 다음 환경 변수를 정의합니다.

GKE 클러스터 만들기

다음 예시에서는 TPU v6e 2x4 노드 풀이 있는 클러스터를 만듭니다. Cluster Toolkit 또는 gcloud CLI를 사용하여 클러스터를 만들 수 있습니다.

Cluster Toolkit

  1. Cluster Toolkit 설정
  2. GKE TPU v6e 클러스터 배포의 안내에 따라 GKE TPU 클러스터를 배포합니다(모든 TPU 배포 옵션의 개요는 Cloud TPU 배포 개요 참고).

    배포 청사진을 구성할 때는 다음을 수행하세요.

    • enable_pathways_for_tpus이 true로 설정되어 있는지 확인합니다 (Cluster Toolkit TPU 블루프린트에서 기본적으로 사용 설정됨). 이렇게 하면 Pathways 컨트롤러에 필요한 cpu-np CPU 노드 풀(n4-standard-64)과 Kueue 구성이 자동으로 프로비저닝됩니다.
    • num_slices를 워크로드에 필요한 TPU 슬라이스 노드 풀 수로 설정합니다.
    • tpu_topology를 선택한 TPU 슬라이스 토폴로지 (예: 2x4 또는 4x4)로 설정합니다.
    • 예약된 용량을 사용하는 경우 reservation을 TPU 예약 이름으로 설정합니다.

    클러스터를 만든 후 --pathways 플래그와 함께 gcluster job submit 명령어를 사용하여 Pathways 워크로드를 제출할 수 있습니다.

gcloud

  1. 몇 가지 환경 변수를 설정합니다.

    CLUSTER=GKE_CLUSTER_NAME
    PROJECT=PROJECT_ID
    ZONE=ZONE
    REGION=REGION
    CLUSTER_VERSION=GKE_CLUSTER_VERSION
    PW_CPU_MACHINE_TYPE="n2-standard-64"
    NETWORK=NETWORK
    SUBNETWORK=SUB_NETWORK
    CLUSTER_NODEPOOL_COUNT=3
    TPU_MACHINE_TYPE="ct6e-standard-4t"
    WORKERS_PER_SLICE=2
    TOPOLOGY="2x4"
    NUM_CPU_NODES=1

    다음을 바꿉니다.

    • CLUSTER: GKE 클러스터 이름
    • PROJECT_ID: Google Cloud 프로젝트 이름
    • ZONE: 리소스를 만들 영역
    • REGION: 리소스를 만들 리전
    • CLUSTER_VERSION: [선택사항] GKE 클러스터 버전, 1.32.2-gke.1475000 이상 사용
    • NETWORK: [선택사항] Virtual Private Cloud 이름을 설정합니다. 클러스터를 만들기 전에 생성해야 합니다.
    • SUBNETWORK: [선택사항] 서브네트워크 이름을 설정합니다. 클러스터를 만들기 전에 서브네트워크를 만들어야 합니다.

다음 단계에서는 GKE 클러스터를 만들고 Pathways 워크로드를 실행하도록 설정하는 방법을 설명합니다.

  1. GKE 클러스터를 만듭니다.

    gcloud beta container clusters create ${CLUSTER} \
    --project=${PROJECT} \
    --zone=${ZONE} \
    --cluster-version=${CLUSTER_VERSION} \
    --scopes=storage-full,gke-default,cloud-platform \
    --machine-type ${PW_CPU_MACHINE_TYPE} \
    --network=${NETWORK} \
    --subnetwork=${SUBNETWORK}
    
  2. TPU 노드 풀을 만듭니다.

    for i in $(seq 1 ${CLUSTER_NODEPOOL_COUNT}); do
    gcloud container node-pools create "tpu-np-${i}" \
    --project=${PROJECT} \
    --zone=${ZONE} \
    --cluster=${CLUSTER} \
    --machine-type=${TPU_MACHINE_TYPE} \
    --num-nodes=${WORKERS_PER_SLICE} \
    --placement-type=COMPACT \
    --tpu-topology=${TOPOLOGY} \
    --scopes=storage-full,gke-default,cloud-platform \
    --workload-metadata=GCE_METADATA
    done
    
  3. CPU 노드 풀을 만듭니다.

    gcloud container node-pools create "cpu-pathways-np" \
    --project ${PROJECT} \
    --zone ${ZONE} \
    --cluster ${CLUSTER} \
    --machine-type ${PW_CPU_MACHINE_TYPE} \
    --num-nodes ${NUM_CPU_NODES} \
    --scopes=storage-full,gke-default,cloud-platform \
    --workload-metadata=GCE_METADATA
    
  4. JobSet API 설치

    클러스터의 사용자 인증 정보를 가져와 로컬 kubectl 컨텍스트에 추가합니다.

    gcloud container clusters get-credentials ${CLUSTER} \
        [--zone=${ZONE} | --region=${REGION}] \
        --project=${PROJECT} \
        && kubectl config set-context --current --namespace=default
    

    GKE 클러스터에서 Pathways 아키텍처를 사용하려면 JobSet API를 설치해야 합니다.

    kubectl apply --server-side -f https://github.com/kubernetes-sigs/jobset/releases/download/v0.8.0/manifests.yaml
    

다음 단계