이 페이지에서는 Distributed Cloud 연결 영역에서 Google Distributed Cloud 노드 풀 리소스를 만들고 관리하는 방법을 설명합니다.
클러스터를 만들면 노드 풀이 자동으로 생성되고 채워집니다. 클러스터를 만든 후 추가 노드 풀을 구성할 수도 있습니다.
Distributed Cloud 노드 풀에 대한 자세한 내용은 Distributed Cloud 연결 작동 방식을 참고하세요.
노드 풀 만들기
Distributed Cloud 노드 풀을 만들려면 이 섹션의 단계를 완료하세요.
이 작업을 완료하려면Google Cloud 프로젝트에 다음 역할이 있어야 합니다.
- 에지 컨테이너 관리자 역할(
roles/edgecontainer.admin) 에지 컨테이너 머신 사용자 역할 (
roles/edgecontainer.machineUser)이 역할을 Google Cloud 프로젝트에도 보유해야 합니다. 이 프로젝트는 노드 풀이 생성되는Google Cloud 프로젝트와 다른 경우 이 노드 풀에 할당될 Distributed Cloud 연결 머신이 포함된 프로젝트입니다.
콘솔
Google Cloud 콘솔을 사용하는 경우 클러스터를 만들 때만 노드 풀을 만들 수 있습니다. 독립형 노드 풀을 만들려면 Google Cloud CLI 또는 Distributed Cloud Edge Container API를 사용해야 합니다.
gcloud
gcloud edge-cloud container clusters node-pools create 명령어를 사용합니다.
gcloud edge-cloud container clusters node-pools create POOL_NAME \
--project=PROJECT_ID \
--location=REGION \
--cluster=CLUSTER_NAME \
--node-location=ZONE_NAME \
--node-count=NODE_COUNT \
--node-labels=NODE_LABELS \
--machine-filter=MACHINE_FILTER \
--local-disk-kms-key=POOL_KMS_KEY \
--node-storage-schema=WORKER_NODE_STORAGE_SCHEMA
다음을 바꿉니다.
POOL_NAME: 이 노드 풀을 고유하게 식별하는 설명 이름입니다. 이 이름은 RFC 1213을 준수해야 하며 소문자 영숫자 문자 및 하이픈 (-)으로만 구성되어야 합니다. 영숫자 문자로 시작하고 끝나야 합니다.PROJECT_ID: 대상 Google Cloud 프로젝트의 ID입니다.REGION: 이 노드 풀의 타겟 Distributed Cloud connected 클러스터가 호스팅되는 Google Cloud 리전입니다.CLUSTER_NAME: 대상 Distributed Cloud 연결 클러스터의 이름입니다.ZONE_NAME: 대상 Distributed Cloud 영역의 이름입니다. 이 영역은REGION에 지정된 리전에 있어야 합니다.NODE_COUNT: 이 노드 풀이 보유한 노드 수입니다.NODE_LABELS: 노드 풀에 있는 개별 노드의 라벨을 구성하는 쉼표로 구분된 키-값 쌍 목록입니다.MACHINE_FILTER(선택사항): 머신 선택을 위한 필터링 기준을 지정합니다. 필터링할 수 있는 필드를 확인하려면 머신에 관한 정보 가져오기를 참고하세요. 이 필터와 일치하는 머신만 이 노드 풀에 조인할 수 있습니다. 멀티 랙 클러스터의 경우 이 플래그를 사용하여 노드가 이 노드 풀을 구성하는 Distributed Cloud 연결 랙을 지정합니다. 생략하면 영역의 모든 사용 가능한 노드가 이 노드 풀에 추가됩니다.POOL_KMS_KEY(선택사항): 이 노드 풀과 함께 사용할 Cloud KMS 키의 전체 경로입니다. 예를 들면 다음과 같습니다./projects/myProject/locations/us-west1-a/keyRings/myKeyRing/cryptoKeys/myGDCE-Key
이 플래그는 로컬 스토리지에 고객 관리 암호화 키 (CMEK) 지원 사용 설정에 설명된 대로 Cloud Key Management Service와 연결된 Distributed Cloud를 통합한 경우에만 적용됩니다.
WORKER_NODE_STORAGE_SCHEMA(선택사항): 이 노드 풀에 포함된 워커 노드의 로컬 스토리지 스키마를 지정합니다. 자세한 내용은 로컬 스토리지 스키마 구성을 참고하세요.
API
projects.locations.clusters.nodePools.create 메서드에 대해 POST 요청을 실행합니다.
POST /v1/PROJECT_ID/locations/REGION/clusters/CLUSTER_NAME?nodePoolId=NODEPOOL_ID&requestId=REQUEST_ID
{
"name": POOL_NAME,
"labels": { LABELS,
},
"nodeLocation": ZONE_NAME,
"nodeCount": NODE_COUNT,
"nodeLabels": NODE_LABELS,
"machineFilter": MACHINE_FILTER,
"localDiskEncryption": {
"kmsKey": POOL_KMS_KEY,
}
}
다음을 바꿉니다.
PROJECT_ID: 대상 Google Cloud 프로젝트의 ID입니다.REGION: 이 노드 풀의 타겟 Distributed Cloud connected 클러스터가 호스팅되는 Google Cloud 리전입니다.CLUSTER_NAME: 대상 Distributed Cloud 연결 클러스터의 이름입니다.NODEPOOL_ID: 이 노드 풀 리소스를 식별하는 고유한 프로그래매틱 ID입니다.REQUEST_ID: 이 요청을 식별하는 고유한 프로그래매틱 ID입니다.POOL_NAME: 이 노드 풀을 고유하게 식별하는 설명 이름입니다.LABELS: 이 노드 풀 리소스에 적용할 라벨 목록입니다.ZONE_NAME: 대상 Distributed Cloud 연결된 영역의 이름입니다. 이 영역은REGION에 지정된 리전에 있어야 합니다.NODE_COUNT: 이 노드 풀이 보유한 노드 수입니다.NODE_LABELS: 노드 풀에 있는 개별 노드의 라벨을 구성하는 쉼표로 구분된 키-값 쌍 목록입니다.MACHINE_FILTER(선택사항): 머신 선택을 위한 필터링 기준을 지정합니다. 이 필터와 일치하는 머신만 이 노드 풀에 조인할 수 있습니다. 다중 랙 클러스터의 경우 이 플래그를 사용하여 노드가 이 노드 풀을 구성하는 Distributed Cloud 연결 랙을 지정합니다. 생략하면 영역에서 사용 가능한 모든 노드가 이 노드 풀에 추가됩니다.POOL_KMS_KEY(선택사항): 이 노드 풀과 함께 사용할 Cloud KMS 키의 전체 경로입니다. 예를 들면 다음과 같습니다./projects/myProject/locations/us-west1-a/keyRings/myKeyRing/cryptoKeys/myGDCE-Key
이 매개변수는 로컬 스토리지에 고객 관리 암호화 키 (CMEK) 지원 사용 설정에 설명된 대로 Cloud Key Management Service와 연결된 Distributed Cloud를 통합한 경우에만 적용됩니다.
노드 풀 나열
Distributed Cloud 연결 영역에서 사용 가능한 Distributed Cloud 노드 풀을 나열하려면 이 섹션의 단계를 완료하세요.
이 작업을 완료하려면 Google Cloud 프로젝트에 Edge Container 뷰어 역할(roles/edgecontainer.viewer)이 있어야 합니다.
gcloud
gcloud edge-cloud container clusters node-pools list 명령어를 사용합니다.
gcloud edge-cloud container clusters node-pools list \
--project=PROJECT_ID \
--location=REGION \
--cluster=CLUSTER_NAME
다음을 바꿉니다.
PROJECT_ID: 대상 Google Cloud 프로젝트의 ID입니다.REGION: 타겟 Distributed Cloud Connected 클러스터가 생성된 Google Cloud 리전입니다.CLUSTER_NAME: 대상 Distributed Cloud 연결 클러스터의 이름입니다.
API
projects.locations.clusters.nodePools.list 메서드에 대해 GET 요청을 실행합니다.
GET /v1/PROJECT_ID/locations/REGION/clusters/CLUSTER_NAME/nodePools?filter=FILTER&pageSize=PAGE_SIZE&orderBy=SORT_BY&pageToken=PAGE_TOKEN
다음을 바꿉니다.
PROJECT_ID: 대상 Google Cloud 프로젝트의 ID입니다.REGION: 타겟 Distributed Cloud 연결 클러스터가 생성된 Google Cloud 리전입니다.CLUSTER_NAME: 대상 Distributed Cloud 클러스터의 이름입니다.FILTER: 반환된 결과를 특정 값으로 제한하는 표현식입니다.PAGE_SIZE: 페이지당 반환할 결과 수입니다.SORT_BY: 반환된 결과를 정렬하는 쉼표로 구분된 필드 이름 목록입니다. 기본 정렬 순서는 오름차순입니다. 내림차순 정렬의 경우 원하는 필드 앞에~를 붙입니다.PAGE_TOKEN: 응답의nextPageToken필드에 있는 마지막 목록 요청에 대한 응답에서 수신된 토큰입니다. 결과 페이지를 수신하려면 이 토큰을 전송하세요.
노드 풀 정보 가져오기
Distributed Cloud 노드 풀에 관한 정보를 가져오려면 이 섹션의 단계를 완료하세요.
이 작업을 완료하려면 Google Cloud 프로젝트에 Edge Container 뷰어 역할(roles/edgecontainer.viewer)이 있어야 합니다.
gcloud
gcloud edge-cloud container clusters node-pools describe 명령어를 사용합니다.
gcloud edge-cloud container clusters node-pools describe POOL_NAME \
--project=PROJECT_ID \
--location=REGION \
--cluster=CLUSTER_NAME
다음을 바꿉니다.
POOL_NAME: 타겟 노드 풀의 이름입니다.PROJECT_ID: 대상 Google Cloud 프로젝트의 ID입니다.REGION: 이 노드 풀과 연결된 Distributed Cloud connected 클러스터가 호스팅되는 Google Cloud 리전입니다.CLUSTER_NAME: 대상 Distributed Cloud 연결 클러스터의 이름입니다.
API
projects.locations.clusters.nodePools.get 메서드에 대해 GET 요청을 실행합니다.
GET /v1/PROJECT_ID/locations/REGION/clusters/CLUSTER_NAME/nodePools/POOL_NAME
다음을 바꿉니다.
PROJECT_ID: 대상 Google Cloud 프로젝트의 ID입니다.REGION: 이 노드 풀과 연결된 Distributed Cloud connected 클러스터가 호스팅되는 Google Cloud 리전입니다.CLUSTER_NAME: 대상 Distributed Cloud 연결 클러스터의 이름입니다.POOL_NAME: 타겟 노드 풀의 이름입니다.
노드 풀 수정
Distributed Cloud 노드 풀을 수정하려면 이 섹션의 단계를 완료하세요.
이 작업을 완료하려면 Google Cloud 프로젝트에Edge Container 관리자 역할(roles/edgecontainer.admin)이 있어야 합니다.
gcloud
gcloud edge-cloud container clusters node-pools update 명령어를 사용합니다.
gcloud edge-cloud container clusters node-pools update POOL_NAME \
--project=PROJECT_ID \
--location=REGION \
--cluster=CLUSTER_NAME \
--node-count=NODE_COUNT \
--machine-filter=MACHINE_FILTER \
--local-disk-kms-key=POOL_KMS_KEY
다음을 바꿉니다.
POOL_NAME: 타겟 노드 풀의 이름입니다.PROJECT_ID: 대상 Google Cloud 프로젝트의 ID입니다.REGION: 이 노드 풀과 연결된 Distributed Cloud connected 클러스터가 호스팅되는 Google Cloud 리전입니다.CLUSTER_NAME: 대상 Distributed Cloud connected 클러스터의 이름NODE_COUNT: 이 노드 풀이 보유한 노드 수입니다.MACHINE_FILTER(선택사항): 머신 선택을 위한 필터링 기준을 지정합니다. 필터링할 수 있는 필드를 확인하려면 머신에 관한 정보 가져오기를 참고하세요. 다중 랙 클러스터의 경우 이 플래그를 사용하여 노드가 이 노드 풀을 구성하는 Distributed Cloud 연결 랙을 지정합니다.POOL_KMS_KEY(선택사항): 이 노드 풀과 함께 사용할 Cloud KMS 키의 전체 경로입니다. 예를 들면 다음과 같습니다./projects/myProject/locations/us-west1-a/keyRings/myKeyRing/cryptoKeys/myGDCE-Key
이 플래그는 로컬 스토리지에 고객 관리 암호화 키 (CMEK) 지원 사용 설정에 설명된 대로 Cloud Key Management Service와 연결된 Distributed Cloud를 통합한 경우에만 적용됩니다.
노드 풀을 되돌려 Google-owned and Google-managed encryption key를 사용하려면
--use-google-managed-key플래그를 사용합니다.
API
projects.locations.clusters.nodePools.patch 메서드에 대해 PATCH 요청을 실행합니다.
PATCH /v1/PROJECT_ID/locations/REGION/clusters/CLUSTER_NAME?nodePoolId=NODEPOOL_ID&requestId=REQUEST_ID
{
"name": POOL_NAME,
"labels": { LABELS,
},
"nodeLocation": ZONE_NAME,
"nodeCount": NODE_COUNT,
"machineFilter": MACHINE_FILTER,
"localDiskEncryption": {
"kmsKey": KMS_KEY,
}
}
다음을 바꿉니다.
PROJECT_ID: 대상 Google Cloud 프로젝트의 ID입니다.REGION: 이 노드 풀과 연결된 Distributed Cloud connected 클러스터가 호스팅되는 Google Cloud 리전입니다.CLUSTER_NAME: 대상 Distributed Cloud 연결 클러스터의 이름입니다.NODEPOOL_ID: 이 노드 풀을 식별하는 고유한 프로그래매틱 ID입니다.REQUEST_ID: 이 요청을 식별하는 고유한 프로그래매틱 ID입니다.POOL_NAME: 이 노드 풀을 고유하게 식별하는 설명 이름입니다.LABELS: 이 노드 풀 리소스에 적용할 라벨 목록입니다.ZONE_NAME: 대상 Distributed Cloud 연결된 영역의 이름입니다. 이 영역은REGION에 지정된 리전에 있어야 합니다.NODE_COUNT: 이 노드 풀이 보유한 노드 수입니다.MACHINE_FILTER(선택사항): 머신 선택을 위한 필터링 기준을 지정합니다. 이 필터와 일치하는 머신만 이 노드 풀에 조인할 수 있습니다. 다중 랙 클러스터의 경우 이 플래그를 사용하여 노드가 이 노드 풀을 구성하는 Distributed Cloud 연결 랙을 지정합니다.KMS_KEY(선택사항): 이 노드 풀과 함께 사용할 Cloud KMS 키의 전체 경로입니다. 예를 들면 다음과 같습니다./projects/myProject/locations/us-west1-a/keyRings/myKeyRing/cryptoKeys/myGDCE-Key
이 매개변수는 로컬 스토리지에 고객 관리 암호화 키 (CMEK) 지원 사용 설정에 설명된 대로 Cloud Key Management Service와 연결된 Distributed Cloud를 통합한 경우에만 적용됩니다.
노드 풀 삭제
Distributed Cloud 노드 풀을 삭제하려면 이 섹션의 단계를 완료하세요.
이 작업을 완료하려면 Google Cloud 프로젝트에Edge Container 관리자 역할(roles/edgecontainer.admin)이 있어야 합니다.
gcloud
gcloud edge-cloud container clusters node-pools delete 명령어를 사용합니다.
gcloud edge-cloud container clusters node-pools delete POOL_NAME \
--project=PROJECT_ID \
--location=REGION \
--cluster=CLUSTER_NAME
다음을 바꿉니다.
POOL_NAME: 타겟 노드 풀의 이름입니다.PROJECT_ID: 대상 Google Cloud 프로젝트의 ID입니다.REGION: 이 노드 풀과 연결된 Distributed Cloud connected 클러스터가 호스팅되는 Google Cloud 리전입니다.CLUSTER_NAME: 대상 Distributed Cloud 연결 클러스터의 이름입니다.
API
projects.locations.clusters.nodePools.delete 메서드에 대해 DELETE 요청을 실행합니다.
DELETE /v1/PROJECT_ID/locations/REGION/clusters/CLUSTER_NAME/nodePools/POOL_NAME?requestId=REQUEST_ID
다음을 바꿉니다.
PROJECT_ID: 대상 Google Cloud 프로젝트의 ID입니다.REGION: 이 노드 풀과 연결된 Distributed Cloud connected 클러스터가 호스팅되는 Google Cloud 리전입니다.CLUSTER_NAME: 대상 Distributed Cloud 연결 클러스터의 이름입니다.POOL_NAME: 타겟 노드 풀의 이름입니다.REQUEST_ID: 이 요청을 식별하는 고유한 프로그래매틱 ID입니다.