kubectl의 클러스터 액세스 구성

이 페이지에서는 Azure용 GKE kubectl 명령줄 도구의 클러스터 액세스를 구성하는 방법을 설명합니다.

개요

GKE on Azure에 액세스하려면 kubectl을 구성해야 합니다. Kubernetes의 kubeconfig 파일에서 현재 컨텍스트를 설정하여 kubectl의 기본 클러스터를 설정할 수 있습니다. 또한 --cluster 플래그를 사용하여 특정 클러스터에 대해 kubectl 명령어를 실행할 수 있습니다.

kubeconfig 및 클러스터 엔드포인트에 대한 자세한 내용은 Kubeconfig 정보를 참조하세요.

시작하기 전에

kubectl 액세스에 Connect 게이트웨이를 사용하는 경우 프로젝트 소유자가 아닌 관리자 사용자에게 gcloud CLI에서 ID로 kubectl 사용에 설명된 IAM 역할을 부여해야 합니다.

현재 kubeconfig 확인

이 섹션에서는 현재 kubeconfig를 확인하는 방법을 설명합니다.

kubeconfig 컨텍스트 보기

환경의 kubeconfig 및 포함된 모든 컨텍스트를 보려면 다음 명령어를 실행합니다.

kubectl config view

이 명령어는 kubeconfig 항목이 생성된 모든 클러스터 목록을 반환합니다. Azure용 GKE 클러스터가 나열되었으면 현재 환경에서 이 클러스터에 kubectl 명령어를 실행할 수 있습니다. 그렇지 않은 경우 클러스터에 kubeconfig 항목을 생성해야 합니다.

kubectl의 현재 컨텍스트 보기

kubectl 명령줄 도구에서 사용하는 현재 컨텍스트를 보려면 다음 명령어를 실행하세요.

kubectl config current-context

kubectl는 현재 컨텍스트의 이름을 출력합니다.

kubeconfig 항목 생성

GKE 클러스터에 kubectl 명령어를 실행하려면 kubeconfig 항목을 생성해야 합니다. kubeconfig를 생성하는 방법은 클러스터 연결 방법에 따라 달라집니다. Connect 게이트웨이를 사용하는 것이 좋습니다. 비공개 엔드포인트를 통해 연결하려면 Azure Virtual Network의 제어 영역 엔드포인트에 대해 연결 및 라우팅을 설정해야 합니다. 클러스터의 kube-apiserver는 컨트롤 플레인의 일부입니다. 비공개 엔드포인트로 요청을 직접 전송하려면 방화벽 규칙을 넓혀야 할 수 있습니다. 컨트롤 플레인 연결에 대한 자세한 내용은 네트워크 보안 그룹을 참조하세요.

Connect Gateway

gcloud container azure clusters get-credentials CLUSTER_NAME \
  --location GOOGLE_CLOUD_LOCATION

다음을 바꿉니다.

  • CLUSTER_NAME: 클러스터 이름
  • GOOGLE_CLOUD_LOCATION: GKE on Azure가 관리되는 Google Cloud 리전 또는 영역

비공개 엔드포인트

비공개 엔드포인트에 연결하려면 클러스터의 제어 영역에 연결해야 합니다. 클러스터 제어 영역에 연결을 참조하세요.

gcloud container azure clusters get-credentials CLUSTER_NAME \
  --location GOOGLE_CLOUD_LOCATION \
  --private-endpoint

다음을 바꿉니다.

  • CLUSTER_NAME: 클러스터 이름
  • GOOGLE_CLOUD_LOCATION: GKE on Azure가 관리되는 Google Cloud 리전 또는 영역

멀티 클러스터 작업

이 섹션에서는 여러 GKE 클러스터에서 kubectl을 사용하는 방법을 설명합니다.

kubectl 명령어의 기본 클러스터 설정

다음을 실행하여 kubectl의 현재 컨텍스트를 해당 클러스터로 전환할 수 있습니다.

gcloud container azure clusters get-credentials CLUSTER_NAME \
  --location GOOGLE_CLOUD_LOCATION \

다음을 바꿉니다.

  • CLUSTER_NAME: 클러스터 이름
  • GOOGLE_CLOUD_LOCATION: GKE on Azure가 관리되는 Google Cloud 리전 또는 영역

예를 들어 프로젝트에 클러스터 두 개(cluster-1cluster-2)가 있다고 가정해 보겠습니다. 현재 컨텍스트는 cluster-2입니다. 현재 컨텍스트를 cluster-2에서 cluster-1로 전환하려면 다음 명령어를 실행합니다.

gcloud container azure clusters get-credentials cluster-1 \
  --location GOOGLE_CLOUD_LOCATION

특정 클러스터에 개별 kubectl 명령어 실행

특정 클러스터를 대상으로 개별 kubectl 명령어를 실행하려면 kubeconfig에 표시되는 클러스터 이름을 --cluster 플래그에 인수로 전달합니다.

예를 들어 환경에 cluster-1cluster-2라는 2개의 클러스터가 있고 현재 컨텍스트가 cluster-1라고 가정해 보겠습니다. 현재 컨텍스트를 변경하지 않으려고 합니다. 현재 컨텍스트를 변경하지 않고 cluster-2에서 포드 객체 목록을 가져오려면 다음 명령어를 실행합니다.

kubectl get pod --cluster cluster-2