이 페이지에서는 AWS용 GKE kubectl 명령줄 도구의 클러스터 액세스를 구성하는 방법을 설명합니다.
개요
AWS용 GKE에 액세스하려면 kubectl
을 구성해야 합니다. Kubernetes의 kubeconfig
파일에서 현재 컨텍스트를 설정하여 kubectl
의 기본 클러스터를 설정할 수 있습니다. 또한 --cluster
플래그를 사용하여 특정 클러스터에 대해 kubectl
명령어를 실행할 수 있습니다.
kubeconfig
및 클러스터 엔드포인트에 대한 자세한 내용은 Kubeconfig 정보를 참조하세요.
시작하기 전에
kubectl
액세스에 Connect 게이트웨이를 사용하는 경우 프로젝트 소유자가 아닌 관리자 사용자에게 gcloud CLI에서 ID로 kubectl 사용에 설명된 IAM 역할을 부여해야 합니다.
현재 kubeconfig 확인
이 섹션에서는 현재 kubeconfig
를 확인하는 방법을 설명합니다.
kubeconfig 컨텍스트 보기
환경의 kubeconfig
및 포함된 모든 컨텍스트를 보려면 다음 명령어를 실행합니다.
kubectl config view
이 명령어는 kubeconfig
항목이 생성된 모든 클러스터 목록을 반환합니다. AWS용 GKE 클러스터가 나열되었으면 현재 환경에서 이 클러스터에 kubectl
명령어를 실행할 수 있습니다. 그렇지 않은 경우 클러스터에 kubeconfig
항목을 생성해야 합니다.
kubectl의 현재 컨텍스트 보기
kubectl 명령줄 도구에서 사용하는 현재 컨텍스트를 보려면 다음 명령어를 실행하세요.
kubectl config current-context
kubectl
는 현재 컨텍스트의 이름을 출력합니다.
kubeconfig 항목 생성
GKE 클러스터에 kubectl
명령어를 실행하려면 kubeconfig
항목을 생성해야 합니다. kubeconfig
를 생성하는 방법은 클러스터 연결 방법에 따라 달라집니다. Connect 게이트웨이를 사용하는 것이 좋습니다. 비공개 엔드포인트를 통해 연결하려면 AWS Virtual Private Cloud의 제어 영역 엔드포인트에 대해 연결 및 라우팅을 설정해야 합니다. 클러스터의 kube-apiserver는 컨트롤 플레인의 일부입니다. 비공개 엔드포인트로 요청을 직접 전송하려면 방화벽 규칙을 넓혀야 할 수 있습니다. 제어 영역 연결에 대한 자세한 내용은 AWS 보안 그룹을 참조하세요.
Connect 게이트웨이
gcloud container aws clusters get-credentials CLUSTER_NAME \
--location GOOGLE_CLOUD_LOCATION
다음을 바꿉니다.
CLUSTER_NAME
: 클러스터 이름GOOGLE_CLOUD_LOCATION
: AWS용 GKE가 관리되는 Google Cloud 리전 또는 영역입니다.
비공개 엔드포인트
비공개 엔드포인트에 연결하려면 클러스터의 제어 영역에 연결해야 합니다. 클러스터 제어 영역에 연결을 참조하세요.
gcloud container aws clusters get-credentials CLUSTER_NAME \
--location GOOGLE_CLOUD_LOCATION \
--private-endpoint
다음을 바꿉니다.
CLUSTER_NAME
: 클러스터 이름GOOGLE_CLOUD_LOCATION
: AWS용 GKE가 관리되는 Google Cloud 리전 또는 영역입니다.
멀티 클러스터 작업
이 섹션에서는 여러 GKE 클러스터에서 kubectl
을 사용하는 방법을 설명합니다.
kubectl 명령어의 기본 클러스터 설정
다음을 실행하여 kubectl
의 현재 컨텍스트를 해당 클러스터로 전환할 수 있습니다.
gcloud container aws clusters get-credentials CLUSTER_NAME \
--location GOOGLE_CLOUD_LOCATION \
다음을 바꿉니다.
CLUSTER_NAME
: 클러스터 이름GOOGLE_CLOUD_LOCATION
: AWS용 GKE가 관리되는 Google Cloud 리전 또는 영역입니다.
예를 들어 프로젝트에 클러스터 두 개(cluster-1
및 cluster-2
)가 있다고 가정해 보겠습니다.
현재 컨텍스트는 cluster-2
입니다. 현재 컨텍스트를 cluster-2
에서 cluster-1
로 전환하려면 다음 명령어를 실행합니다.
gcloud container aws clusters get-credentials cluster-1 \
--location GOOGLE_CLOUD_LOCATION
특정 클러스터에 개별 kubectl 명령어 실행
특정 클러스터를 대상으로 개별 kubectl
명령어를 실행하려면 kubeconfig
에 표시되는 클러스터 이름을 --cluster
플래그에 인수로 전달합니다.
예를 들어 환경에 cluster-1
및 cluster-2
라는 2개의 클러스터가 있고 현재 컨텍스트가 cluster-1
라고 가정해 보겠습니다. 현재 컨텍스트를 변경하지 않으려고 합니다. 현재 컨텍스트를 변경하지 않고 cluster-2
에서 포드 객체 목록을 가져오려면 다음 명령어를 실행합니다.
kubectl get pod --cluster cluster-2