다음을 통해 공유


연결할 때 구성 파일을 사용할 수 없음

이 문서에서는 누락되거나 잘못된 구성 파일로 인해 AKS(Azure Kubernetes Service) 클러스터에 연결할 수 없을 때 발생하는 문제를 해결하는 방법을 설명합니다.

필수 조건

  • Azure CLI
  • Kubernetes 클러스터 명령줄 도구(kubectl). 또는 Azure CLI에서 az aks install-cli 명령을 실행하여 kubectl을 설치할 수 있습니다.

증상

클러스터 연결 시도 중에 다음 텍스트와 유사한 오류 메시지가 나타납니다.

Unable to connect to the server: dial tcp [::1]:8080: connectex: No connection could be made because the target machine actively refused it. 

error: You must be logged in to the server (the server has asked for the client to provide credentials)

원인

kubectl 도구 및 기타 Kubernetes 연결 도구는 config라는 로컬 구성 파일을 사용합니다. 구성 파일에는 클러스터에 연결할 인증 자격 증명 및 세부 정보가 포함되어 있습니다. 기본적으로:

따라서 Kubernetes 세션을 시도하는 동안 발생하는 작업은 kubectl 명령을 실행하는 사용자에 따라 달라집니다. 사용자 A로 로그인하고 두 명령을 모두 실행한 경우 다음이 수행됩니다.

  • az aks get-credentials 명령은 C:\Users\A\.kube\config 파일에 새 kubeconfig 매개 변수를 추가하려고 시도합니다.

  • kubectl 명령은 C:\Users\A\.kube\config 파일을 검색하려고 합니다.

그러나 kubectl의 경우 kubeconfig 파일에 대한 포인터가 변경된 경우 클러스터에 액세스하는 데 사용되는 파일은 다른 위치에 있어야 합니다.

참고 항목

kubeconfig 파일은 Kubernetes 클러스터에 액세스하기 위한 구성 매개 변수를 포함하는 파일에 대한 참조입니다. kubeconfig라는 파일을 반드시 참조하는 것은 아닙니다.

이 오류는 다음 시나리오 중 하나가 발생하는 경우에 발생합니다.

원인 1: 구성 파일이 없습니다.

컴퓨터에 구성 파일이 없습니다.

해결 방법: 자격 증명 저장

자격 증명을 저장하는 Azure CLI에서 명령을 실행 az aks get-credentials 하여 구성 파일을 로드합니다. 기본 위치를 사용하지 않으려면 구성 위치(예: ~/Dir1/Dir2/config 또는 C:\Dir1\Dir2\config)를 사용하여 매개 변수를 지정 --file <config-file-location> 합니다.

az aks get-credentials --resource-group <cluster-resource-group> \
    --name <cluster-name> \
    [--file <config-file-location>]

원인 2: 구성 파일이 잘못된 디렉터리에 있습니다.

구성 파일은 컴퓨터에 있지만 명령 및/또는 kubectl 도구에서 예상하는 디렉터리와는 다른 디렉터리에 az aks get-credentials 있습니다.

해결 방법: 구성 파일을 이동하거나, 자격 증명을 다시 저장하거나, KUBECONFIG 환경 변수를 변경합니다.

다음 작업 중 하나 이상을 수행합니다.

  • 구성 파일을 원하는 디렉터리로 이동합니다.

  • az aks get-credentials 명령을 실행합니다. 기본 위치가 아닌 경우 원하는 위치를 지정합니다.

    az aks get-credentials --resource-group <cluster-resource-group> \
        --name <cluster-name> \
        [--file <config-file-location>]
    
  • 다음 옵션 중 하나를 사용하여 kubectl에서 구성 매개 변수를 찾는 위치를 변경합니다.

    • 구성 파일의 KUBECONFIG 현재 위치를 가리키도록 환경 변수를 수정합니다. 자세한 내용은 KUBECONFIG 환경 변수 설정을 참조 하세요.

    • 매개 변수를 사용하여 kubectl config 명령을 실행합니다 --kubeconfig=<config-file-location> .

원인 3: 구성 파일이 만료되었거나 손상되었습니다.

구성 파일이 컴퓨터에 있습니다. 명령 및 kubectl 도구에 az aks get-credentials 대한 예상 디렉터리에도 있습니다. 그러나 파일이 만료되었거나 손상되었습니다.

해결 방법: 자격 증명 다시 설정

기존 자격 증명이 만료되거나 손상되었을 수 있으므로 자격 증명을 다시 설정합니다. 이 경우 매개 변수를 사용하여 az aks get-credentials 명령을 --overwrite-existing 실행할 수 있습니다.

az aks get-credentials --resource-group <cluster-resource-group> \
    --name <cluster-name> \
    --overwrite-existing \
    [--file <config-file-location>]

도움을 요청하십시오.

질문이 있거나 도움이 필요한 경우 지원 요청을 생성하거나Azure 커뮤니티 지원에 문의하세요. Azure 피드백 커뮤니티에 제품 피드백을 제출할 수도 있습니다.