kubectl 연결 구성

이 페이지에서는 kubectl 명령줄 도구가 Google Distributed Cloud Connected에 액세스할 수 있도록 연결을 구성하는 방법을 설명합니다.

Cloud 컨트롤 플레인 클러스터의 kubectl 연결 구성

이 섹션에서는 kubectl 명령줄 도구가 Distributed Cloud 연결 클라우드 컨트롤 플레인 클러스터에 액세스할 수 있도록 연결을 구성하는 방법을 설명합니다. Connect 게이트웨이와 Cloud Load Balancing을 통해 kubectl 연결을 구성할 수 있습니다.

Connect 게이트웨이를 통한 연결

게이트웨이 연결을 사용하여 kubectl 연결을 구성할 수 있습니다.

연결 게이트웨이를 통해 kubectl 연결을 구성하려면 다음 명령어를 사용하여 필요한 kubeconfig 파일을 생성하세요.

 gcloud edge-cloud container hub memberships get-credentials CLUSTER_ID \
    --project=PROJECT_ID

다음을 바꿉니다.

  • CLUSTER_ID: 대상 클러스터의 ID입니다.
  • PROJECT_ID: 대상 Google Cloud 프로젝트의 ID입니다.
  • REGION: 클러스터가 생성된 Google Cloud 리전입니다.

연결 게이트웨이 허브 멤버십 이름은 대상 Distributed Cloud 클러스터의 ID입니다. 연결 게이트웨이 허브 멤버십 프로젝트 ID는 타겟 클러스터의 프로젝트 ID와 일치할 수 있지만 일치하지 않아도 됩니다.

생성된 kubeconfig 파일에는 다음과 유사한 연결 게이트웨이 엔드포인트 URL이 포함됩니다.

https://connectgateway.googleapis.com/v1/projects/myProject/locations/global/memberships/myCluster

kubectl 요청은 Connect 게이트웨이로 전송되며, Connect 게이트웨이는 이를 Connect 에이전트로 전달하고 최종적으로 클러스터의 클라우드 컨트롤 플레인에 있는 Kubernetes API 서버로 전달합니다.

Cloud Load Balancing을 통한 연결

Cloud Load Balancing을 통해 kubectl 연결을 구성하려면 다음 명령어를 사용하여 필요한 kubeconfig 파일을 생성하세요.

 gcloud edge-cloud container clusters get-credentials CLUSTER_ID \
    --project=PROJECT_ID \
    --location=REGION

다음을 바꿉니다.

  • CLUSTER_ID: 대상 클러스터의 ID입니다.
  • PROJECT_ID: 대상 Google Cloud 프로젝트의 ID입니다.
  • REGION: 클러스터가 생성된 Google Cloud 리전입니다.

이 경우 Cloud Load Balancing은 인터넷에 단일 공개 IP 주소를 노출하고 kubectl 요청을 Google Cloud에서 실행되는 클러스터의 Cloud 컨트롤 플레인으로 전달하는 외부 L4 부하 분산기 역할을 합니다.

로컬 컨트롤 플레인 클러스터의 kubectl 연결 구성

이 섹션에서는 kubectl 명령줄 도구가 Distributed Cloud에 연결된 로컬 컨트롤 플레인 클러스터에 액세스할 수 있도록 연결을 구성하는 방법을 설명합니다.

기본적으로 ToR 스위치는 로컬 컨트롤 플레인 노드의 가상 IP 주소를 로컬 네트워크에 자동으로 공지합니다. kubectl 도구를 사용하여 로컬 네트워크에서 이러한 가상 IP 주소에 직접 연결할 수 있습니다.

로컬 네트워크에 직접 액세스할 수 없는 경우 다음 옵션을 사용할 수 있습니다.

  • 로컬 컨트롤 플레인 노드가 공개 IP 주소를 사용하는 경우 인터넷에서 직접 연결할 수 있습니다. 네트워크 관리자가 포트 443에서 노드로 들어오는 트래픽을 허용하도록 방화벽을 구성해야 합니다.
  • 로컬 제어 영역에서 비공개 IP 주소를 사용하는 경우 배스천 호스트를 구성해야 합니다.

다음 단계