윈도우에 kubectl 설치 및 설정

윈도우에 kubectl 설치 및 설정

시작하기 전에

클러스터와 마이너 버전 차이가 1 이내인 kubectl 버전을 사용해야 한다. 예를 들어, v1.37 클라이언트는 v1.36, v1.37 및 v1.38 컨트롤 플레인과 통신할 수 있다. 호환되는 최신 kubectl 버전을 사용하면 예기치 않은 문제를 방지하는 데 도움이 된다.

윈도우에 kubectl 설치

다음 방법으로 윈도우에 kubectl을 설치할 수 있다.

윈도우에서 직접 다운로드 또는 curl로 kubectl 바이너리 설치

  1. 윈도우 장치에 kubectl을 설치하는 방법은 두 가지이다.

    • 직접 다운로드.

      쿠버네티스 릴리스 페이지에서 사용 중인 아키텍처에 맞는 최신 1.37 패치 릴리스 바이너리를 직접 다운로드한다. 사용하는 아키텍처(예: amd64, arm64 등)에 맞는 바이너리를 선택해야 한다.

    • curl 사용.

      curl이 설치되어 있다면 다음 명령을 사용한다.

      curl.exe -LO "https://dl.k8s.io/release/v1.37.0/bin/windows/amd64/kubectl.exe"
      

    참고:

    최신 안정 버전을 확인하려면(예: 스크립트에서 사용하는 경우) https://dl.k8s.io/release/stable.txt를 참고한다.
  2. 바이너리를 검증한다(선택 사항).

    kubectl 체크섬(checksum) 파일을 다운로드한다.

    curl.exe -LO "https://dl.k8s.io/v1.37.0/bin/windows/amd64/kubectl.exe.sha256"
    

    kubectl 바이너리를 체크섬 파일과 대조하여 검증한다.

    • 명령 프롬프트에서 CertUtil 출력과 다운로드한 체크섬 파일을 수동으로 비교한다.

      CertUtil -hashfile kubectl.exe SHA256
      type kubectl.exe.sha256
      
    • PowerShell에서 -eq 연산자를 사용하여 검증을 자동화하고 True 또는 False 결과를 얻는다.

       $(Get-FileHash -Algorithm SHA256 .\kubectl.exe).Hash -eq $(Get-Content .\kubectl.exe.sha256)
      
  3. kubectl 바이너리가 있는 폴더를 PATH 환경 변수의 앞이나 뒤에 추가한다.

  4. kubectl 버전이 다운로드한 버전과 같은지 확인한다.

    kubectl version --client
    

    또는 더 자세한 버전 정보를 확인하려면 다음 명령을 사용한다.

    kubectl version --client --output=yaml
    

참고:

윈도우용 도커 데스크톱은 자체 kubectl 버전을 PATH에 추가한다. 도커 데스크톱을 이미 설치했다면 도커 데스크톱 설치 프로그램이 추가한 경로보다 앞에 사용하려는 PATH 항목을 배치하거나 도커 데스크톱의 kubectl을 제거해야 할 수도 있다.

Chocolatey, Scoop 또는 winget을 사용하여 윈도우에 설치

  1. 윈도우에 kubectl을 설치할 때 Chocolatey 패키지 관리자, Scoop 커맨드라인 설치 도구 또는 winget 패키지 관리자를 사용할 수 있다.

    choco install kubernetes-cli
    
    scoop install kubectl
    
    winget install -e --id Kubernetes.kubectl
    
  2. 설치한 버전이 최신인지 확인한다.

    kubectl version --client
    
  3. 홈 디렉터리로 이동한다.

    # cmd.exe에서는 cd %USERPROFILE% 명령을 실행한다.
    cd ~
    
  4. .kube 디렉터리를 만든다.

    mkdir .kube
    
  5. 방금 만든 .kube 디렉터리로 이동한다.

    cd .kube
    
  6. 원격 쿠버네티스 클러스터를 사용하도록 kubectl을 구성한다.

    New-Item config -type file
    

참고:

메모장 등 원하는 텍스트 편집기로 구성 파일을 편집한다.

kubectl 구성 확인

kubectl이 쿠버네티스 클러스터를 찾고 접근하려면 kubeconfig 파일이 필요하다. 이 파일은 클러스터를 kube-up.sh로 생성하거나 Minikube 클러스터를 성공적으로 배포하면 자동으로 생성된다. 기본적으로 kubectl 구성은 ~/.kube/config에 있다.

클러스터 상태를 조회하여 kubectl이 올바르게 구성되었는지 확인한다.

kubectl cluster-info

URL 응답이 나타나면 kubectl이 클러스터에 접근하도록 올바르게 구성된 것이다.

다음과 유사한 메시지가 나타나면 kubectl 구성이 올바르지 않거나 쿠버네티스 클러스터에 연결할 수 없는 것이다.

The connection to the server <server-name:port> was refused - did you specify the right host or port?

예를 들어, 노트북(로컬)에서 쿠버네티스 클러스터를 실행하려면 먼저 Minikube와 같은 도구를 설치한 다음, 위에 언급된 명령어를 다시 실행해야 한다.

kubectl cluster-info가 URL 응답을 반환했지만 클러스터에 접근할 수 없다면 다음 명령으로 구성이 올바른지 확인한다.

kubectl cluster-info dump

'No Auth Provider Found' 오류 메시지 문제 해결

쿠버네티스 1.26에서 다음 클라우드 제공자의 관리형 쿠버네티스 서비스에 대한 내장 인증을 제거했다. 각 제공자는 클라우드별 인증을 위한 kubectl 플러그인을 출시했다. 사용 방법은 다음 제공자 문서를 참고한다.

같은 오류 메시지가 표시되더라도 이 변경과 관련 없는 다른 원인이 있을 수 있다.

선택적 kubectl 구성 및 플러그인

셸 자동 완성 활성화

kubectl은 Bash, Zsh, Fish, PowerShell의 자동 완성을 지원하므로 입력량을 크게 줄일 수 있다.

다음은 PowerShell에서 자동 완성을 설정하는 절차이다.

PowerShell용 kubectl 자동 완성 스크립트는 kubectl completion powershell 명령으로 생성할 수 있다.

모든 셸 세션에서 사용하려면, $PROFILE 파일에 다음을 추가한다.

kubectl completion powershell | Out-String | Invoke-Expression

이 명령은 PowerShell을 실행할 때마다 자동 완성 스크립트를 재생성한다. 아니면, 생성된 스크립트를 $PROFILE 파일에 직접 추가할 수도 있다.

생성된 스크립트를 $PROFILE 파일에 직접 추가하려면, PowerShell 프롬프트에서 다음 명령줄을 실행한다.

kubectl completion powershell >> $PROFILE

셸을 다시 불러오면, kubectl 자동 완성이 동작할 것이다.

kuberc 구성

자세한 내용은 kuberc를 참고한다.

kubectl convert 플러그인 설치

이것은 쿠버네티스 커맨드 라인 도구인 kubectl의 플러그인으로서, 특정 버전의 쿠버네티스 API로 작성된 매니페스트를 다른 버전으로 변환할 수 있도록 한다. 이것은 매니페스트를 최신 쿠버네티스 릴리스의 사용 중단되지 않은 API로 마이그레이션하는 데 특히 유용하다. 더 많은 정보는 다음의 사용 중단되지 않은 API로 마이그레이션을 참고한다.

  1. 다음 명령으로 최신 릴리스를 다운로드한다.

    curl.exe -LO "https://dl.k8s.io/release/v1.37.0/bin/windows/amd64/kubectl-convert.exe"
    
  2. 바이너리를 검증한다(선택 사항).

    kubectl-convert 체크섬 파일을 다운로드한다.

    curl.exe -LO "https://dl.k8s.io/v1.37.0/bin/windows/amd64/kubectl-convert.exe.sha256"
    

    kubectl-convert 바이너리를 체크섬 파일과 대조하여 검증한다.

    • 명령 프롬프트에서 CertUtil 출력과 다운로드한 체크섬 파일을 수동으로 비교한다.

      CertUtil -hashfile kubectl-convert.exe SHA256
      type kubectl-convert.exe.sha256
      
    • PowerShell에서 -eq 연산자를 사용하여 검증을 자동화하고 True 또는 False 결과를 얻는다.

      $($(CertUtil -hashfile .\kubectl-convert.exe SHA256)[1] -replace " ", "") -eq $(type .\kubectl-convert.exe.sha256)
      
  3. kubectl-convert 바이너리가 있는 폴더를 PATH 환경 변수의 앞이나 뒤에 추가한다.

  4. 플러그인이 정상적으로 설치됐는지 확인한다.

    kubectl convert --help
    

    오류가 표시되지 않으면 플러그인이 정상적으로 설치된 것이다.

  5. 플러그인을 설치한 후 설치 파일을 정리한다.

    del kubectl-convert.exe
    del kubectl-convert.exe.sha256
    

다음 내용

최종 수정 October 05, 2026 at 3:22 PM PST: fix: 원문대조 누락건 수정 (0bce5e6a73)