노드 풀 만들기 및 관리

이 페이지에서는 Distributed Cloud 연결 영역에서 Google Distributed Cloud 노드 풀 리소스를 만들고 관리하는 방법을 설명합니다.

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

다음을 바꿉니다.

  • 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를 통합한 경우에만 적용됩니다.

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

다음을 바꿉니다.

  • POOL_NAME: 타겟 노드 풀의 이름입니다.
  • PROJECT_ID: 대상 Google Cloud 프로젝트의 ID입니다.
  • REGION: 이 노드 풀과 연결된 Distributed Cloud connected 클러스터가 호스팅되는 Google Cloud 리전입니다.
  • CLUSTER_NAME: 대상 Distributed Cloud connected 클러스터의 이름
  • NODE_COUNT: 이 노드 풀이 보유한 노드 수입니다.
  • MACHINE_FILTER (선택사항): 머신 선택을 위한 필터링 기준을 지정합니다. 필터링할 수 있는 필드를 확인하려면 머신에 관한 정보 가져오기를 참고하세요. 다중 랙 클러스터의 경우 이 플래그를 사용하여 노드가 이 노드 풀을 구성하는 Distributed Cloud 연결 랙을 지정합니다.

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입니다.

다음 단계