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

가속 처리 키트 (XPK)를 사용하여 경로 기반 워크로드용으로 사전 구성된 Google Kubernetes Engine (GKE) 클러스터를 만들 수 있습니다. gcloud를 사용하여 경로 기반 워크로드용 GKE 클러스터를 수동으로 만들 수도 있습니다.

시작하기 전에

다음 사항이 필요합니다.

로컬 환경 설정

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

gcloud auth application-default login

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

필수 변수

GKE 클러스터 만들기

다음 예시에서는 v5e 2x4 노드 풀이 두 개인 클러스터를 만듭니다. XPK 또는 gcloud 명령어를 사용하여 클러스터를 만들 수 있습니다.

XPK

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

    CLUSTER_NODEPOOL_COUNT=CLUSTER_NODEPOOL_COUNT
    PROJECT=PROJECT_ID
    ZONE=ZONE
    CLUSTER=GKE_CLUSTER_NAME
    TPU_TYPE="v5litepod-8"
    PW_CPU_MACHINE_TYPE="n2-standard-64"
    NETWORK=NETWORK
    SUBNETWORK=SUB_NETWORK

    다음을 바꿉니다.

    • CLUSTER_NODEPOOL_COUNT: 워크로드에서 사용할 수 있는 최대 노드 풀 수
    • PROJECT_ID: Google Cloud 프로젝트 이름
    • ZONE: 리소스를 만들 영역
    • CLUSTER: GKE 클러스터 이름
    • TPU_TYPE: TPU 유형입니다. 자세한 내용은 XPK에서 지원되는 유형을 참고하세요.
    • PW_CPU_MACHINE_TYPE: Pathways 컨트롤러의 CPU 노드 유형
    • NETWORK: [선택사항] XPK를 사용하는 경우 가상 프라이빗 클라우드 이름을 설정합니다. 클러스터를 만들기 전에 생성해야 합니다.
    • SUBNETWORK: [선택사항] XPK를 사용하는 경우 서브네트워크 이름을 설정합니다. 클러스터를 만들기 전에 생성해야 합니다.
  2. XPK를 사용하여 GKE Pathways 클러스터를 만듭니다. 이 명령어를 실행하면 용량을 프로비저닝하는 데 몇 분이 걸릴 수 있습니다. 완료되면 용량이 할당되고 요금이 청구됩니다.

    xpk cluster create-pathways \
    --num-slices=${CLUSTER_NODEPOOL_COUNT} \
    --tpu-type=${TPU_TYPE} \
    --pathways-gce-machine-type=${PW_CPU_MACHINE_TYPE} \
    --on-demand \
    --project=${PROJECT} \
    --zone=${ZONE} \
    --cluster=${CLUSTER} \
    --custom-cluster-arguments="--network=${NETWORK} --subnetwork=${SUBNETWORK} --enable-ip-alias"

클러스터가 생성되면 필요에 따라 워크로드를 만들고 삭제할 수 있습니다. TPU 용량을 다시 프로비저닝할 필요가 없습니다.

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="ct5lp-hightpu-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 이상을 사용합니다.
    • PW_CPU_MACHINE_TYPE: Pathways 컨트롤러의 CPU 노드 유형
    • NETWORK: [선택사항] XPK를 사용하는 경우 가상 프라이빗 클라우드 이름을 설정합니다. 클러스터를 만들기 전에 생성해야 합니다.
    • SUBNETWORK: [선택사항] XPK를 사용하는 경우 서브네트워크 이름을 설정합니다. 클러스터를 만들기 전에 생성해야 합니다.
    • CLUSTER_NODEPOOL_COUNT: 워크로드에서 사용할 수 있는 최대 노드 풀 수
    • TPU_MACHINE_TYPE: 사용할 TPU 머신 유형
    • WORKERS_PER_SLICE: 노드 풀당 노드 수

    • GKE_ACCELERATOR_TYPE: Google Kubernetes Engine 가속기 유형입니다. TPU 버전 선택을 참고하세요.

    • TOPOLOGY: TPU 토폴로지

    • NUM_CPU_NODES: Pathways CPU 노드 풀 크기

다음 단계에서는 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. JobSetPathwaysJob 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와 PathwaysJob API를 설치해야 합니다.

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

다음 단계