클러스터 관리

Vertex AI 학습 클러스터에 관심이 있으면 영업 담당자에게 문의하여 액세스 권한을 받으세요.

클러스터가 배포되면 다음 REST API 엔드포인트를 사용하여 전체 수명 주기를 관리할 수 있습니다.

  • List: 프로젝트의 모든 활성 클러스터를 표시합니다.
  • Get: 특정 클러스터의 세부정보를 가져옵니다.
  • Update: 기존 클러스터 구성을 수정합니다.
  • Delete: 클러스터와 해당 리소스를 영구적으로 삭제합니다.

인증

alias gcurl='curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json"'

클러스터 나열:

    gcurl -X GET https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters
    

list 메서드는 페이지로 나누기를 제어하기 위해 다음과 같은 선택적 쿼리 매개변수를 지원합니다.

  • pageSize(정수, 선택사항): 응답에서 반환할 최대 클러스터 수입니다. 더 많은 항목이 있더라도 서비스가 이 값보다 더 적게 반환할 수 있습니다. 지정하지 않으면 기본 페이지 크기가 사용됩니다.
  • pageToken (string, optional): 이전 list 호출에서 수신된 토큰입니다. 후속 결과 페이지를 가져오려면 이 토큰을 제공하세요.
다음 예에서는 페이지당 최대 5개의 클러스터가 있는 첫 번째 결과 페이지를 요청합니다.

    gcurl "https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters?pageSize=5"
    

성공적인 응답에는 최대 5개의 클러스터 리소스가 포함된 클러스터 배열이 포함되며 nextPageToken 문자열도 포함될 수 있습니다.

클러스터 가져오기:

    gcurl -X GET https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters/CLUSTER_ID
    

클러스터 업데이트:

UPDATE_PAYLOAD는 업데이트할 전체 ModelDevelopmentCluster를 정의하는 JSON 파일의 로컬 경로를 지정합니다.

예를 들어 CPU 전용 클러스터 풀의 노드 수를 업데이트하려면 다음 JSON 페이로드를 사용합니다.

{
  "display_name": "DISPLAY_NAME",
  "network": {
    "network": "projects/PROJECT_ID/global/networks/NETWORK",
    "subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK"
  },
  "node_pools": [
    {
      "id": "cpu",
      "machine_spec": {
        "machine_type": "n2-standard-8"
      },
      "scaling_spec": {
        "min_node_count": UPDATED_MIN_NODE_COUNT,
        "max_node_count": UPDATED_MAX_NODE_COUNT
      },
      "zone": "ZONE",
      "enable_public_ips": true,
      "boot_disk": {
        "boot_disk_type": "pd-standard",
        "boot_disk_size_gb": 120
      }
    },
    {
      "id": "login",
      "machine_spec": {
        "machine_type": "n2-standard-8",
      },
      "scaling_spec": {
        "min_node_count": 1,
        "max_node_count": 1
      },
         "zone": "ZONE",
         "enable_public_ips": true,
      "boot_disk": {
        "boot_disk_type": "pd-standard",
        "boot_disk_size_gb": 120
      }
    },
  ],
  "orchestrator_spec": {
      "slurm_spec": {
      "home_directory_storage": "projects/PROJECT_ID/locations/ZONE/instances/FILESTORE",
      "partitions": [
         {
          "id": "cpu",
          "node_pool_ids": [
            "cpu"
          ]
        }
      ],
      "login_node_pool_id": "login"
    }
  }
}

gcurl -X PATCH -d @UPDATE_PAYLOAD https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters/CLUSTER_ID
쿼리 매개변수
  • updateMask(문자열, 선택사항): 업데이트할 모델 개발 클러스터 리소스의 필드를 지정하는 FieldMask입니다. updateMask에 나열된 필드만 변경됩니다.

    ModelDevelopmentCluster 리소스 내의 다음 필드는 updateMask에서 지정할 수 있습니다.

    • node_pools
    • orchestrator_spec.slurm_spec.partitions
    • orchestrator_spec.slurm_spec.login_node_pool_id
    • orchestrator_spec.slurm_spec.prolog_bash_scripts
    • orchestrator_spec.slurm_spec.epilog_bash_scripts

아래 명령어는 노드 풀 구성과 Slurm 파티션을 모두 업데이트합니다.

gcurl -X PATCH -d @update-payload.json
https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters/CLUSTER_ID?updateMask=orchestrator_spec.slurm_spec.partitions,node_pools
반복 필드에 대한 중요 사항

node_pools, prolog_bash_scripts, epilog_bash_scripts와 같은 반복 필드의 경우 API는 전체 교체 작업만 지원합니다. 사용자는 기존 목록을 완전히 대체하기 위해 요청 페이로드에 예상되는 전체 항목 목록을 제공해야 합니다.

업데이트 후 동작 및 클러스터 상태

요청이 성공하면 장기 실행 작업(LRO)이 반환됩니다. 그런 다음 다음 명령어를 사용하여 이 작업의 상태를 모니터링할 수 있습니다.

gcurl https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID
업데이트 작업이 완료되면 대부분의 수정사항이 즉시(또는 Slurm 동기화 시간 15초 이내) 적용되며 추가 작업이 필요하지 않습니다. 스토리지 소스 및 시작 스크립트 수정 등 기본 클러스터 컴퓨팅 인프라를 변경하는 경우에만 리소스를 다시 만들어야 합니다.

클러스터 삭제:

  gcurl -X DELETE https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters/CLUSTER_ID
  

이 명령어는 성공 시 장기 실행 작업을 반환하며, 이후 operations describe 명령어를 사용하여 모니터링할 수 있습니다.

gcurl https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID