kubectl이 모든 포드를 가져오지 못함

kubectl이 모든 포드를 가져오지 못함

저는 Google Cloud Platform을 사용하고 있으며 GKE에서 실행되는 두 개의 서로 다른 kubernetes 클러스터가 있습니다. 이제 이러한 클러스터는 영역 클러스터이며 다른 영역에서 실행됩니다. 문제는 Cloud Shell을 사용할 때 kubectl get pods다른 클러스터에서 포드를 가져오는 것입니다. 클러스터를 설정 했는데 kubectl config set-cluster xxx여전히 다른 포드만 표시됩니다.

답변1

다른 클러스터에서 Pod를 반환하는 경우 kubectl get podskubectl 구성이 다른 클러스터를 가리키고 있을 가능성이 높습니다.

kubectl이 사용하고 있는 현재 컨텍스트(현재 클러스터)를 확인할 수 있습니다: kubectl config current-context.

참고하세요,GKE 문서에서 강조하는 바와 같이:

Google Cloud 콘솔을 사용하거나 다른 컴퓨터에서 gcloud CLI를 사용하여 클러스터를 만들면 환경의 kubeconfig 파일이 업데이트되지 않습니다. 또한 프로젝트 팀 구성원이 gcloud CLI를 사용하여 자신의 컴퓨터에서 클러스터를 생성하는 경우 해당 구성원의 kubeconfig는 업데이트되지만 귀하의 구성원은 업데이트되지 않습니다. kubeconfig 항목에는 다음 중 하나가 포함됩니다.

gcloud auth 목록에 표시된 사용자 인증 정보 또는

구성된 경우 애플리케이션 기본 자격 증명입니다.

사용자 환경에서 kubeconfig 컨텍스트를 생성하려면 Container.clusters.get 권한이 있는지 확인하세요. 이 권한을 제공하는 최소 권한의 IAM 역할은 Container.clusterViewer입니다.

특정 클러스터에 대한 kubeconfig 컨텍스트를 생성하려면 다음 명령을 실행합니다.

gcloud container clusters get-credentials CLUSTER_NAME

CLUSTER_NAME을 클러스터 이름으로 바꿉니다.

대상 클러스터가 기본 영역 또는 지역에서 실행되고 있지 않거나 기본 영역 또는 지역을 설정하지 않은 경우 명령.

참고: gcloud 컨테이너 클러스터 get-credentials를 실행하면 kubectl의 현재 컨텍스트도 해당 클러스터로 변경됩니다.

관련 정보