Cluster Toolkit를 사용하여 Pathways 기반 워크로드에 사전 구성된 Google Kubernetes Engine(GKE) 클러스터를 만들 수 있습니다. gcloud를 사용하여 Pathways 기반 워크로드의 GKE 클러스터를 수동으로 만들 수도 있습니다.
시작하기 전에
다음 사항이 필요합니다.
로컬 환경 설정
Google Cloud 사용자 인증 정보로 로그인합니다.
gcloud auth application-default login
워크로드에 적합한 값으로 다음 환경 변수를 정의합니다.
GKE 클러스터 만들기
다음 예시에서는 TPU v6e 2x4 노드 풀로 클러스터를 만듭니다.
Cluster Toolkit 또는 gcloud CLI를 사용하여 클러스터를 만들 수 있습니다.
Cluster Toolkit
- Cluster Toolkit을 설정합니다.
GKE TPU v6e 클러스터 배포의 안내에 따라 GKE TPU 클러스터를 배포합니다(모든 TPU 배포 옵션에 대한 개요는 Cloud TPU 배포 개요 참조).
배포 청사진을 구성할 때 다음을 수행합니다.
enable_pathways_for_tpus가true로 설정되어 있는지 확인합니다(Cluster Toolkit TPU 청사진에서 기본적으로 사용 설정됨). 이렇게 하면 Pathways 컨트롤러에 필요한cpu-npCPU 노드 풀(n4-standard-64) 및 Kueue 구성이 자동으로 프로비저닝됩니다.num_slices를 워크로드에 필요한 TPU 슬라이스 노드 풀 수로 설정합니다.tpu_topology를 선택한 TPU 슬라이스 토폴로지(예:2x4또는4x4)로 설정합니다.- 예약된 용량을 사용하는 경우
reservation를 TPU 예약 이름으로 설정합니다.
클러스터가 생성되면
gcluster job submit명령어를--pathways플래그와 함께 사용하여 Pathways 워크로드를 제출할 수 있습니다.
gcloud
몇 가지 환경 변수를 설정합니다.
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: [선택사항] 가상 프라이빗 클라우드 이름을 설정합니다. 클러스터를 만들기 전에 만들어야 합니다.SUBNETWORK: [선택사항] 서브네트워크 이름을 설정합니다. 클러스터를 만들기 전에 만들어야 합니다.
다음 단계에서는 GKE 클러스터를 만들고 Pathways 워크로드를 실행하도록 설정하는 방법을 설명합니다.
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}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 doneCPU 노드 풀을 만듭니다.
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_METADATAJobSetAPI 설치클러스터의 사용자 인증 정보를 가져와 로컬 kubectl 컨텍스트에 추가합니다.
gcloud container clusters get-credentials ${CLUSTER} \ [--zone=${ZONE} | --region=${REGION}] \ --project=${PROJECT} \ && kubectl config set-context --current --namespace=defaultGKE 클러스터에서 Pathways 아키텍처를 사용하려면
JobSetAPI를 설치해야 합니다.kubectl apply --server-side -f https://github.com/kubernetes-sigs/jobset/releases/download/v0.8.0/manifests.yaml