이 페이지에서는 일반적인 멀티 클러스터 서비스(MCS) 시나리오를 설명합니다. 이 페이지에 제시된 시나리오는 다음과 같은 특성을 공유합니다.
- 2개의 GKE 클러스터: 첫 번째 GKE 클러스터는 자체 프로젝트의 Fleet에 등록되며, Fleet 호스트 프로젝트입니다. 두 번째 GKE 클러스터는 동일한 Fleet에 등록되지만 시나리오에 따라 동일한 프로젝트에 위치하지 않을 수 있습니다. 두 GKE 클러스터 모두 VPC 기반 클러스터입니다.
- 동일한 VPC 네트워크: 두 GKE 클러스터 모두 동일한 공유 VPC 네트워크의 서브넷을 사용합니다.
- 두 클러스터 모두에 GKE용 워크로드 아이덴티티 제휴가 사용 설정됩니다.
용어
공유 VPC 호스트 프로젝트와 GKE Fleet 호스트 프로젝트라는 용어는 서로 다른 의미를 갖습니다.
- 공유 VPC 호스트 프로젝트는 공유 VPC 네트워크가 포함된 프로젝트입니다.
- GKE Fleet 호스트 프로젝트는 클러스터를 등록하는 Fleet이 포함된 프로젝트입니다.
시나리오
다음 표는 일반적인 MCS 시나리오를 설명합니다.
시나리오 | Fleet 호스트 프로젝트(첫 번째 클러스터가 포함된 프로젝트) | 두 번째 클러스터의 위치 |
---|---|---|
동일한 공유 VPC 서비스 프로젝트의 클러스터 | 공유 VPC 서비스 프로젝트 | 첫 번째 클러스터와 동일한 공유 VPC 서비스 프로젝트 |
Fleet 호스트 프로젝트로서 공유 VPC 호스트 프로젝트(공유 VPC 호스트 프로젝트의 첫 번째 클러스터, 공유 VPC 서비스 프로젝트의 두 번째 클러스터) | 공유 VPC 호스트 프로젝트 | 공유 VPC 서비스 프로젝트 |
다른 공유 VPC 서비스 프로젝트의 클러스터 | 공유 VPC 서비스 프로젝트 | 다른 공유 VPC 서비스 프로젝트 |
기본 요건
MCS의 프로젝트 간 구성을 설정하기 전에 다음 단계를 완료합니다.
- 공유 VPC 개념을 숙지합니다.
- 공유 VPC를 사용하여 클러스터 설정을 숙지합니다.
- MCS의 제한사항 및 알려진 문제를 이해해야 합니다.
동일한 공유 VPC 서비스 프로젝트의 클러스터
이 섹션에서는 동일한 공유 VPC 서비스 프로젝트에 있는 두 개의 기존 GKE 클러스터가 포함된 MCS 구성 예시를 제공합니다.
- 두 클러스터 모두
SHARED_VPC_HOST_PROJ
에서 동일한 공유 VPC 네트워크를 사용합니다. - GKE용 워크로드 아이덴티티 제휴가 사용 설정된 첫 번째 VPC 기반 GKE 클러스터
FIRST_CLUSTER_NAME
이FLEET_HOST_PROJ
에 생성됩니다. Fleet 호스트 프로젝트는 이 시나리오에서SHARED_VPC_HOST_PROJ
에 연결된 서비스 프로젝트입니다. - GKE용 워크로드 아이덴티티 제휴가 사용 설정된 두 번째 VPC 기반 GKE 클러스터
SECOND_CLUSTER_NAME
이FLEET_HOST_PROJ
에 생성됩니다.
필요한 API 사용 설정
필요한 API를 사용 설정합니다. API가 이미 사용 설정되었는지 여부는 Google Cloud CLI 출력에 표시됩니다.
Cloud DNS API 사용 설정:
gcloud services enable dns.googleapis.com \ --project SHARED_VPC_HOST_PROJ
이 시나리오에서 Fleet 호스트 프로젝트는 공유 VPC 호스트 프로젝트에 연결된 서비스 프로젝트입니다. 공유 VPC 네트워크가 위치한 곳이므로 공유 VPC 호스트 프로젝트에 Cloud DNS API를 사용 설정해야 합니다. GKE는 호스트 프로젝트에 Cloud DNS 관리형 비공개 영역을 만들고 공유 VPC 네트워크에 대해 승인합니다.
GKE 허브(Fleet) API 사용 설정. GKE 허브 API는 Fleet 호스트 프로젝트에서만 사용 설정해야 합니다.
gcloud services enable gkehub.googleapis.com \ --project FLEET_HOST_PROJ
Fleet 호스트 프로젝트에서 이 API를 사용 설정하면
service-FLEET_HOST_PROJ_NUMBER@gcp-sa-gkehub.iam.gserviceaccount.com
서비스 계정이 생성되거나 보장됩니다.Fleet 호스트 프로젝트에서 Cloud Service Mesh, Resource Manager, 멀티 클러스터 서비스 검색 API를 사용 설정합니다.
gcloud services enable trafficdirector.googleapis.com \ cloudresourcemanager.googleapis.com \ multiclusterservicediscovery.googleapis.com \ --project FLEET_HOST_PROJ
Fleet 호스트 프로젝트에서 멀티 클러스터 서비스 사용 설정
Fleet 호스트 프로젝트에서 멀티 클러스터 서비스를 사용 설정합니다.
gcloud container fleet multi-cluster-services enable \ --project FLEET_HOST_PROJ
Fleet 호스트 프로젝트에서 멀티 클러스터 서비스를 사용 설정하면 다음의
service-FLEET_HOST_PROJ_NUMBER@gcp-sa-mcsd.iam.gserviceaccount.com
이라는 서비스 계정이 생성되거나 보장됩니다.
IAM 바인딩 만들기
Fleet 호스트 프로젝트 MCS 서비스 계정에 공유 VPC 호스트 프로젝트의 MCS 서비스 에이전트 역할을 부여하는 IAM 바인딩을 만듭니다.
gcloud projects add-iam-policy-binding SHARED_VPC_HOST_PROJ \ --member "serviceAccount:service-FLEET_HOST_PROJ_NUMBER@gcp-sa-mcsd.iam.gserviceaccount.com" \ --role roles/multiclusterservicediscovery.serviceAgent
Fleet 호스트 프로젝트 MCS 서비스 계정에 자체 프로젝트의 네트워크 사용자 역할을 부여하는 IAM 바인딩을 만듭니다.
gcloud projects add-iam-policy-binding FLEET_HOST_PROJ \ --member "serviceAccount:FLEET_HOST_PROJ.svc.id.goog[gke-mcs/gke-mcs-importer]" \ --role roles/compute.networkViewer
이 시나리오에서는 GKE용 워크로드 아이덴티티 제휴를 사용하므로 Fleet 호스트 프로젝트의 MCS Importer GKE 서비스 계정에는 자체 프로젝트의 네트워크 사용자 역할이 필요합니다.
다음을 바꿉니다.
SHARED_VPC_HOST_PROJ
: 공유 VPC 호스트 프로젝트의 프로젝트 IDFLEET_HOST_PROJ_NUMBER
: Fleet 호스트 프로젝트의 프로젝트 번호(이 시나리오의 공유 VPC 서비스 프로젝트)FLEET_HOST_PROJ
: 첫 번째 클러스터 프로젝트의 프로젝트 ID
Fleet에 클러스터 등록
Fleet에 첫 번째 클러스터를 등록합니다. 첫 번째 클러스터가 등록되는 Fleet과 동일한 프로젝트에 있기 때문에
--gke-cluster
플래그를 이 명령어에 사용할 수 있습니다.gcloud container fleet memberships register MEMBERSHIP_NAME_1 \ --project FLEET_HOST_PROJ \ --enable-workload-identity \ --gke-cluster=LOCATION/FIRST_CLUSTER_NAME
다음을 바꿉니다.
MEMBERSHIP_NAME_1
: 이 Fleet에서 이 클러스터의 고유 식별자입니다. 예를 들어 첫 번째 GKE 클러스터의 이름을 사용할 수 있습니다.FLEET_HOST_PROJ
: 이 시나리오의 공유 VPC 호스트 프로젝트와 동일한 Fleet 호스트 프로젝트의 프로젝트 ID입니다.LOCATION
: 영역 클러스터의 경우 클러스터가 포함된 Compute Engine 영역입니다. 리전 클러스터의 경우 클러스터가 포함된 Compute Engine 리전입니다.FIRST_CLUSTER_NAME
: 첫 번째 클러스터의 이름입니다.
두 번째 클러스터를 Fleet 호스트 프로젝트에 등록합니다. 두 번째 클러스터도 Fleet 호스트 프로젝트에 있기 때문에
--gke-cluster
플래그를 이 명령어에 사용할 수 있습니다.gcloud container fleet memberships register MEMBERSHIP_NAME_2 \ --project FLEET_HOST_PROJ \ --enable-workload-identity \ --gke-cluster=LOCATION/SECOND_CLUSTER_NAME
다음을 바꿉니다.
MEMBERSHIP_NAME_2
: 이 Fleet에서 이 클러스터의 고유 식별자입니다. 예를 들어 두 번째 GKE 클러스터의 이름을 사용할 수 있습니다.FLEET_HOST_PROJ
: 이 시나리오의 공유 VPC 호스트 프로젝트와 동일한 Fleet 호스트 프로젝트의 프로젝트 ID입니다.LOCATION
: 영역 클러스터의 경우 클러스터가 포함된 Compute Engine 영역입니다. 리전 클러스터의 경우 클러스터가 포함된 Compute Engine 리전입니다.SECOND_CLUSTER_NAME
: 두 번째 클러스터의 이름입니다.
클러스터의 공통 네임스페이스 만들기
각 클러스터에 서비스를 공유할 네임스페이스가 있는지 확인합니다. 필요한 경우 각 클러스터에서 다음 명령어를 사용하여 네임스페이스를 만듭니다.
kubectl create ns NAMESPACE
NAMESPACE
를 네임스페이스 이름으로 바꿉니다.
Fleet 호스트 프로젝트로서 공유 VPC 호스트 프로젝트
이 섹션에서는 두 개의 기존 GKE 클러스터가 포함된 MCS 구성 예시를 제공합니다.
- GKE용 워크로드 아이덴티티 제휴가 사용 설정된 첫 번째 VPC 기반 GKE 클러스터
FIRST_CLUSTER_NAME
이FLEET_HOST_PROJ
에 생성되었습니다. 이 시나리오에서 Fleet 호스트 프로젝트는 공유 VPC 호스트 프로젝트이기도 합니다. - GKE용 워크로드 아이덴티티 제휴가 사용 설정된 두 번째 VPC 기반 GKE 클러스터
SECOND_CLUSTER_NAME
이SECOND_CLUSTER_PROJ
에 생성되었습니다.
필요한 API 사용 설정
필요한 API를 사용 설정합니다. API가 이미 사용 설정되었는지 여부는 Google Cloud CLI 출력에 표시됩니다.
Cloud DNS API 사용 설정:
gcloud services enable dns.googleapis.com \ --project FLEET_HOST_PROJ
이 시나리오에서 Fleet 호스트 프로젝트는 공유 VPC 호스트 프로젝트이기도 합니다. 공유 VPC 네트워크가 위치한 곳이므로 공유 VPC 호스트 프로젝트에 Cloud DNS API를 사용 설정해야 합니다. GKE는 호스트 프로젝트에 Cloud DNS 관리형 비공개 영역을 만들고 공유 VPC 네트워크에 대해 승인합니다.
GKE 허브(Fleet) API 사용 설정. GKE 허브 API는 Fleet 호스트 프로젝트에서만 사용 설정해야 합니다.
gcloud services enable gkehub.googleapis.com \ --project FLEET_HOST_PROJ
Fleet 호스트 프로젝트에서 GKE 허브 API를 사용 설정하면 다음의
service-FLEET_HOST_PROJ_NUMBER@gcp-sa-gkehub.iam.gserviceaccount.com
서비스 계정이 생성되거나 보장됩니다.Fleet 호스트 프로젝트 및 두 번째 클러스터의 프로젝트 모두에서 Cloud Service Mesh, Resource Manager, 멀티 클러스터 서비스 검색 API를 사용 설정합니다.
gcloud services enable trafficdirector.googleapis.com \ cloudresourcemanager.googleapis.com \ multiclusterservicediscovery.googleapis.com \ --project FLEET_HOST_PROJ
gcloud services enable trafficdirector.googleapis.com \ cloudresourcemanager.googleapis.com \ multiclusterservicediscovery.googleapis.com \ --project SECOND_CLUSTER_PROJ
Fleet 호스트 프로젝트에서 멀티 클러스터 서비스 사용 설정
Fleet 호스트 프로젝트에서 멀티 클러스터 서비스를 사용 설정합니다.
gcloud container fleet multi-cluster-services enable \ --project FLEET_HOST_PROJ
Fleet 호스트 프로젝트에서 멀티 클러스터 서비스를 사용 설정하면 다음의
service-FLEET_HOST_PROJ_NUMBER@gcp-sa-mcsd.iam.gserviceaccount.com
이라는 서비스 계정이 생성되거나 보장됩니다.
IAM 바인딩 만들기
Fleet 호스트 프로젝트의 GKE 서비스 계정에 두 번째 클러스터 프로젝트의 GKE 서비스 에이전트 역할을 부여하는 IAM 바인딩을 만듭니다.
gcloud projects add-iam-policy-binding SECOND_CLUSTER_PROJ \ --member "serviceAccount:service-FLEET_HOST_PROJ_NUMBER@gcp-sa-gkehub.iam.gserviceaccount.com" \ --role roles/gkehub.serviceAgent
Fleet 호스트 프로젝트의 MCS 서비스 계정에 두 번째 클러스터 프로젝트의 MCS 서비스 에이전트 역할을 부여하는 IAM 바인딩을 만듭니다.
gcloud projects add-iam-policy-binding SECOND_CLUSTER_PROJ \ --member "serviceAccount:service-FLEET_HOST_PROJ_NUMBER@gcp-sa-mcsd.iam.gserviceaccount.com" \ --role roles/multiclusterservicediscovery.serviceAgent
각 프로젝트의 MCS 서비스 계정에 자체 프로젝트의 네트워크 사용자 역할을 부여하는 IAM 바인딩을 만듭니다.
gcloud projects add-iam-policy-binding FLEET_HOST_PROJ \ --member "serviceAccount:FLEET_HOST_PROJ.svc.id.goog[gke-mcs/gke-mcs-importer]" \ --role roles/compute.networkViewer
gcloud projects add-iam-policy-binding SECOND_CLUSTER_PROJ \ --member "serviceAccount:SECOND_CLUSTER_PROJ.svc.id.goog[gke-mcs/gke-mcs-importer]" \ --role roles/compute.networkViewer
이 시나리오에서는 GKE용 워크로드 아이덴티티 제휴를 사용하므로 각 프로젝트의 MCS Importer GKE 서비스 계정에는 자체 프로젝트의 네트워크 사용자 역할이 필요합니다.
다음을 바꿉니다.
SECOND_CLUSTER_PROJ
: 두 번째 클러스터 프로젝트의 프로젝트 IDFLEET_HOST_PROJ
: 첫 번째 클러스터 프로젝트의 프로젝트 IDFLEET_HOST_PROJ_NUMBER
: Fleet 호스트 프로젝트의 프로젝트 번호(이 시나리오의 공유 VPC 호스트 프로젝트와 동일함)
Fleet에 클러스터 등록
Fleet에 첫 번째 클러스터를 등록합니다. 첫 번째 클러스터가 등록되는 Fleet과 동일한 프로젝트에 있기 때문에
--gke-cluster
플래그를 이 명령어에 사용할 수 있습니다.gcloud container fleet memberships register MEMBERSHIP_NAME_1 \ --project FLEET_HOST_PROJ \ --enable-workload-identity \ --gke-cluster=LOCATION/FIRST_CLUSTER_NAME
다음을 바꿉니다.
MEMBERSHIP_NAME_1
: 이 Fleet에서 이 클러스터의 고유 식별자입니다. 예를 들어 첫 번째 GKE 클러스터의 이름을 사용할 수 있습니다.FLEET_HOST_PROJ
: 이 시나리오의 공유 VPC 호스트 프로젝트와 동일한 Fleet 호스트 프로젝트의 프로젝트 ID입니다.LOCATION
: 영역 클러스터의 경우 클러스터가 포함된 Compute Engine 영역입니다. 리전 클러스터의 경우 클러스터가 포함된 Compute Engine 리전입니다.FIRST_CLUSTER_NAME
: 첫 번째 클러스터의 이름입니다.
Fleet에 두 번째 클러스터를 등록합니다. 두 번째 클러스터가 Fleet과 동일한 프로젝트에 있지 않기 때문에
--gke-uri
플래그를 이 명령어에 사용해야 합니다.gcloud container clusters list --uri
를 실행하면 전체 클러스터 URI를 가져올 수 있습니다.gcloud container fleet memberships register MEMBERSHIP_NAME_2 \ --project FLEET_HOST_PROJ \ --enable-workload-identity \ --gke-uri https://container.googleapis.com/v1/projects/SECOND_CLUSTER_PROJ/locations/LOCATION/clusters/SECOND_CLUSTER_NAME
다음을 바꿉니다.
MEMBERSHIP_NAME_2
: 이 Fleet에서 이 클러스터의 고유 식별자입니다. 예를 들어 두 번째 GKE 클러스터의 이름을 사용할 수 있습니다.FLEET_HOST_PROJ
: 이 시나리오의 공유 VPC 호스트 프로젝트와 동일한 Fleet 호스트 프로젝트의 프로젝트 ID입니다.LOCATION
:LOCATION
를 다음으로 바꿉니다.- 클러스터가 영역 클러스터인 경우 클러스터의 Compute Engine 영역
- 클러스터가 리전 클러스터인 경우 클러스터의 Compute Engine 리전
SECOND_CLUSTER_PROJECT
: 두 번째 클러스터가 포함된 프로젝트입니다.SECOND_CLUSTER_NAME
: 두 번째 클러스터의 이름입니다.
클러스터의 공통 네임스페이스 만들기
각 클러스터에 서비스를 공유할 네임스페이스가 있는지 확인합니다. 필요한 경우 각 클러스터에서 다음 명령어를 사용하여 네임스페이스를 만듭니다.
kubectl create ns NAMESPACE
NAMESPACE
를 네임스페이스 이름으로 바꿉니다.
다른 공유 VPC 서비스 프로젝트의 클러스터
이 섹션에서는 각각 다른 공유 VPC 서비스 프로젝트에 있는 두 개의 기존 GKE 클러스터가 포함된 MCS 구성 예시를 제공합니다.
- 두 클러스터 모두
SHARED_VPC_HOST_PROJ
에서 동일한 공유 VPC 네트워크를 사용합니다. - GKE용 워크로드 아이덴티티 제휴가 사용 설정된 첫 번째 VPC 기반 GKE 클러스터
FIRST_CLUSTER_NAME
이FLEET_HOST_PROJ
에 생성되었습니다. Fleet 호스트 프로젝트는 이 시나리오에서SHARED_VPC_HOST_PROJ
에 연결된 서비스 프로젝트입니다. - GKE용 워크로드 아이덴티티 제휴가 사용 설정된 두 번째 VPC 기반 GKE 클러스터
SECOND_CLUSTER_NAME
이SECOND_CLUSTER_PROJ
에 생성되었습니다.SECOND_CLUSTER_PROJ
는 이 시나리오에서SHARED_VPC_HOST_PROJ
에 연결된 서비스 프로젝트이기도 합니다.
필요한 API 사용 설정
필요한 API를 사용 설정합니다. API가 이미 사용 설정되었는지 여부는 Google Cloud CLI 출력에 표시됩니다.
Cloud DNS API 사용 설정:
gcloud services enable dns.googleapis.com \ --project SHARED_VPC_HOST_PROJ
이 시나리오에서 Fleet 호스트 프로젝트는 공유 VPC 호스트 프로젝트에 연결된 서비스 프로젝트입니다. 공유 VPC 네트워크가 위치한 곳이므로 공유 VPC 호스트 프로젝트에 Cloud DNS API를 사용 설정해야 합니다. GKE는 호스트 프로젝트에 Cloud DNS 관리형 비공개 영역을 만들고 공유 VPC 네트워크에 대해 승인합니다.
GKE 허브(Fleet) API. GKE 허브 API는 Fleet 호스트 프로젝트
FLEET_HOST_PROJ
에서만 사용 설정되어야 합니다.gcloud services enable gkehub.googleapis.com \ --project FLEET_HOST_PROJ
Fleet 호스트 프로젝트에서 이 API를 사용 설정하면
service-FLEET_HOST_PROJ_NUMBER@gcp-sa-gkehub.iam.gserviceaccount.com
서비스 계정이 생성되거나 보장됩니다.Fleet 호스트 프로젝트 및 두 번째 클러스터의 프로젝트 모두에서 Cloud Service Mesh, Resource Manager, 멀티 클러스터 서비스 검색 API를 사용 설정합니다.
gcloud services enable trafficdirector.googleapis.com \ cloudresourcemanager.googleapis.com \ multiclusterservicediscovery.googleapis.com \ --project=FLEET_HOST_PROJ
gcloud services enable trafficdirector.googleapis.com \ cloudresourcemanager.googleapis.com \ multiclusterservicediscovery.googleapis.com \ --project SECOND_CLUSTER_PROJ
Fleet 호스트 프로젝트에서 멀티 클러스터 서비스 사용 설정
Fleet 호스트 프로젝트에서 멀티 클러스터 서비스를 사용 설정합니다.
gcloud container fleet multi-cluster-services enable \ --project FLEET_HOST_PROJ
Fleet 호스트 프로젝트에서 멀티 클러스터 서비스를 사용 설정하면 다음의
service-FLEET_HOST_PROJ_NUMBER@gcp-sa-mcsd.iam.gserviceaccount.com
이라는 서비스 계정이 생성되거나 보장됩니다.
IAM 바인딩 만들기
Fleet 호스트 프로젝트의 GKE 허브 서비스 계정에 두 번째 클러스터 프로젝트의 GKE 서비스 에이전트 역할을 부여하는 IAM 바인딩을 만듭니다.
gcloud projects add-iam-policy-binding SECOND_CLUSTER_PROJ \ --member "serviceAccount:service-FLEET_HOST_PROJ_NUMBER@gcp-sa-gkehub.iam.gserviceaccount.com" \ --role roles/gkehub.serviceAgent
Fleet 호스트 프로젝트의 MCS 서비스 계정에 두 번째 클러스터 프로젝트의 MCS 서비스 에이전트 역할을 부여하는 IAM 바인딩을 만듭니다.
gcloud projects add-iam-policy-binding SECOND_CLUSTER_PROJ \ --member "serviceAccount:service-FLEET_HOST_PROJ_NUMBER@gcp-sa-mcsd.iam.gserviceaccount.com" \ --role roles/multiclusterservicediscovery.serviceAgent
Fleet 호스트 프로젝트 MCS 서비스 계정에 공유 VPC 호스트 프로젝트의 MCS 서비스 에이전트 역할을 부여하는 IAM 바인딩을 만듭니다.
gcloud projects add-iam-policy-binding SHARED_VPC_HOST_PROJ \ --member "serviceAccount:service-FLEET_HOST_PROJ_NUMBER@gcp-sa-mcsd.iam.gserviceaccount.com" \ --role roles/multiclusterservicediscovery.serviceAgent
각 프로젝트의 MCS 서비스 계정에 자체 프로젝트의 네트워크 사용자 역할을 부여하는 IAM 바인딩을 만듭니다.
gcloud projects add-iam-policy-binding FLEET_HOST_PROJ \ --member "serviceAccount:FLEET_HOST_PROJ.svc.id.goog[gke-mcs/gke-mcs-importer]" \ --role roles/compute.networkViewer
gcloud projects add-iam-policy-binding SECOND_CLUSTER_PROJ \ --member "serviceAccount:SECOND_CLUSTER_PROJ.svc.id.goog[gke-mcs/gke-mcs-importer]" \ --role roles/compute.networkViewer
이 시나리오에서는 GKE용 워크로드 아이덴티티 제휴를 사용하므로 각 프로젝트의 MCS Importer GKE 서비스 계정에는 자체 프로젝트의 네트워크 사용자 역할이 필요합니다.
필요에 따라 이전 명령어에서 다음을 바꿉니다.
SECOND_CLUSTER_PROJ
: 두 번째 클러스터 프로젝트의 프로젝트 IDSHARED_VPC_HOST_PROJ
: 공유 VPC 호스트 프로젝트의 프로젝트 ID. 이 예시에서 두 클러스터 모두 동일한 공유 VPC 네트워크를 사용하지만 두 클러스터 모두 공유 VPC 호스트 프로젝트에 없습니다.FLEET_HOST_PROJ
: 첫 번째 클러스터 프로젝트의 프로젝트 IDFLEET_HOST_PROJ_NUMBER
: Fleet 호스트 프로젝트의 프로젝트 번호
Fleet에 클러스터 등록
Fleet에 첫 번째 클러스터를 등록합니다. 첫 번째 클러스터가 등록되는 Fleet과 동일한 프로젝트에 있기 때문에
--gke-cluster
플래그를 이 명령어에 사용할 수 있습니다.gcloud container fleet memberships register MEMBERSHIP_NAME_1 \ --project FLEET_HOST_PROJ \ --enable-workload-identity \ --gke-cluster=LOCATION/FIRST_CLUSTER_NAME
다음을 바꿉니다.
MEMBERSHIP_NAME_1
: 이 Fleet에서 이 클러스터의 고유 식별자입니다. 예를 들어 첫 번째 GKE 클러스터의 이름을 사용할 수 있습니다.FLEET_HOST_PROJ
: 이 시나리오의 공유 VPC 호스트 프로젝트와 동일한 Fleet 호스트 프로젝트의 프로젝트 ID입니다.LOCATION
: 영역 클러스터의 경우 클러스터가 포함된 Compute Engine 영역입니다. 리전 클러스터의 경우 클러스터가 포함된 Compute Engine 리전입니다.FIRST_CLUSTER_NAME
: 첫 번째 클러스터의 이름입니다.
Fleet에 두 번째 클러스터를 등록합니다. 두 번째 클러스터가 Fleet과 동일한 프로젝트에 있지 않기 때문에
--gke-uri
플래그를 이 명령어에 사용해야 합니다.gcloud container clusters list --uri
를 실행하면 전체 클러스터 URI를 가져올 수 있습니다.gcloud container fleet memberships register MEMBERSHIP_NAME_2 \ --project FLEET_HOST_PROJ \ --enable-workload-identity \ --gke-uri https://container.googleapis.com/v1/projects/SECOND_CLUSTER_PROJ/locations/LOCATION/clusters/SECOND_CLUSTER_NAME
다음을 바꿉니다.
MEMBERSHIP_NAME_2
: 이 Fleet에서 이 클러스터의 고유 식별자입니다. 예를 들어 두 번째 GKE 클러스터의 이름을 사용할 수 있습니다.FLEET_HOST_PROJ
: 이 시나리오의 공유 VPC 호스트 프로젝트와 동일한 Fleet 호스트 프로젝트의 프로젝트 ID입니다.LOCATION
:LOCATION
를 다음으로 바꿉니다.- 클러스터가 영역 클러스터인 경우 클러스터의 Compute Engine 영역
- 클러스터가 리전 클러스터인 경우 클러스터의 Compute Engine 리전
SECOND_CLUSTER_PROJECT
: 두 번째 클러스터가 포함된 프로젝트입니다.SECOND_CLUSTER_NAME
: 두 번째 클러스터의 이름입니다.
클러스터의 공통 네임스페이스 만들기
각 클러스터에 서비스를 공유할 네임스페이스가 있는지 확인합니다. 필요한 경우 각 클러스터에서 다음 명령어를 사용하여 네임스페이스를 만듭니다.
kubectl create ns NAMESPACE
NAMESPACE
를 네임스페이스 이름으로 바꿉니다.
다음 단계
- MCS 사용 방법 알아보기