클러스터가 배포되면 다음 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 호출에서 수신된 토큰입니다. 후속 결과 페이지를 가져오려면 이 토큰을 제공하세요.
gcurl "https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters?pageSize=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_poolsorchestrator_spec.slurm_spec.partitionsorchestrator_spec.slurm_spec.login_node_pool_idorchestrator_spec.slurm_spec.prolog_bash_scriptsorchestrator_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
클러스터 삭제:
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