본문 바로가기
반응형

Windows에 kubectl 설치 및 설정

시작하기 전에

클러스터의 하나의 마이너 버전 차이 내에 있는 kubectl 버전을 사용해야 합니다. 예를 들어 v1.28 클라이언트는 v1.27, v1.28 및 v1.29 제어 플레인과 통신할 수 있습니다. kubectl의 최신 호환 버전을 사용하면 예상치 못한 문제를 방지하는 데 도움이 됩니다.

Windows에 kubectl 설치

Windows에 kubectl을 설치하는 방법은 다음과 같습니다.

Windows에서 컬을 사용하여 kubectl 바이너리 설치

  1. 최신 1.28 패치 릴리스인 kubectl 1.28.4 를 다운로드하세요 .
    curl.exe -LO "https://dl.k8s.io/release/v1.28.4/bin/windows/amd64/kubectl.exe"
    
    참고: 최신 안정 버전(예: 스크립팅용)을 찾으려면 https://dl.k8s.io/release/stable.txt를 살펴보세요 .
  2. 또는 curl설치한 경우 다음 명령을 사용하십시오.
  3. 바이너리 유효성 검사(선택 사항)
    curl.exe -LO "https://dl.k8s.io/v1.28.4/bin/windows/amd64/kubectl.exe.sha256"
    
    kubectl체크섬 파일에 대해 바이너리의 유효성을 검사합니다 .
    • 명령 프롬프트를 사용하여 CertUtil의 출력을 다운로드한 체크섬 파일과 수동으로 비교합니다.
    • CertUtil -hashfile kubectl.exe SHA256
      type kubectl.exe.sha256
      
    • PowerShell을 사용하여 연산자를 사용하여 확인을 자동화하여 결과 를 -eq얻습니다 .TrueFalse
    •  $(Get-FileHash -Algorithm SHA256 .\kubectl.exe).Hash -eq $(Get-Content .\kubectl.exe.sha256)
      
  4. 체크섬 파일을 다운로드합니다 kubectl.
  5. kubectl환경 변수 에 바이너리 폴더를 추가하거나 앞에 추가합니다 PATH.
  6. kubectl버전이 다운로드한 버전과 동일한지 테스트합니다 .또는 버전을 자세히 보려면 ​​다음을 사용하세요.
  7. kubectl version --client --output=yaml
    
  8. kubectl version --client
    
참고: Windows 용 Docker Desktop  . 이전에 Docker Desktop을 설치한 경우 Docker Desktop 설치 프로그램에서 추가한 항목 앞에 항목을 배치하거나 Docker Desktop의 .kubectlPATHPATHkubectl

Chocolatey, Scoop 또는 Winget을 사용하여 Windows에 설치

  1. Windows에 kubectl을 설치하려면 Chocolatey 패키지 관리자, Scoop 명령줄 설치 프로그램 또는 Winget 패키지 관리자를 사용할 수 있습니다 .
    choco install kubernetes-cli
    
  2. 설치한 버전이 최신인지 테스트하십시오.
  3. kubectl version --client
    
  4. 홈 디렉터리로 이동합니다.
  5. # If you're using cmd.exe, run: cd %USERPROFILE%
    cd ~
    
  6. 디렉터리를 만듭니다 .kube.
  7. mkdir .kube
    
  8. .kube방금 생성한 디렉터리 로 변경합니다 .
  9. cd .kube
    
  10. 원격 Kubernetes 클러스터를 사용하도록 kubectl을 구성합니다.
  11. New-Item config -type file
    
참고: 메모장과 같은 원하는 텍스트 편집기를 사용하여 구성 파일을 편집하세요.

kubectl 구성 확인

kubectl이 Kubernetes 클러스터를 찾고 액세스하려면 kube-up.sh를 사용하여 클러스터를 생성 하거나 Minikube 클러스터를 성공적으로 배포할 때 자동으로 생성되는 kubeconfig 파일이 필요합니다. 기본적으로 kubectl 구성은 에 있습니다 .~/.kube/config

클러스터 상태를 가져와서 kubectl이 올바르게 구성되었는지 확인하세요.

kubectl cluster-info

URL 응답이 표시되면 kubectl이 클러스터에 액세스하도록 올바르게 구성된 것입니다.

다음과 유사한 메시지가 표시되면 kubectl이 올바르게 구성되지 않았거나 Kubernetes 클러스터에 연결할 수 없는 것입니다.

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

예를 들어, 노트북에서 (로컬로) Kubernetes 클러스터를 실행하려는 경우 먼저 Minikube와 같은 도구를 설치한 다음 위에 설명된 명령을 다시 실행해야 합니다.

kubectl Cluster-info가 URL 응답을 반환하지만 클러스터에 액세스할 수 없는 경우 클러스터가 올바르게 구성되었는지 확인하려면 다음을 사용하세요.

kubectl cluster-info dump

'인증 제공자를 찾을 수 없음' 오류 메시지 문제 해결

Kubernetes 1.26에서 kubectl은 다음 클라우드 공급자의 관리형 Kubernetes 제품에 대한 기본 제공 인증을 제거했습니다. 이러한 공급자는 클라우드별 인증을 제공하기 위해 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 자동 완성이 작동해야 합니다.

kubectl convert플러그인 설치

kubectl다양한 API 버전 간에 매니페스트를 변환할 수 있는 Kubernetes 명령줄 도구용 플러그인입니다 . 이는 최신 Kubernetes 릴리스를 사용하여 더 이상 사용되지 않는 API 버전으로 매니페스트를 마이그레이션하는 데 특히 유용할 수 있습니다. 자세한 내용은 더 이상 사용되지 않는 API로 마이그레이션을 참조하세요.

  1. 다음 명령을 사용하여 최신 릴리스를 다운로드합니다.
  2. curl.exe -LO "https://dl.k8s.io/release/v1.28.4/bin/windows/amd64/kubectl-convert.exe"
    
  3. 바이너리를 검증합니다(선택 사항).
    curl.exe -LO "https://dl.k8s.io/v1.28.4/bin/windows/amd64/kubectl-convert.exe.sha256"
    
    kubectl-convert체크섬 파일에 대해 바이너리의 유효성을 검사합니다 .
    • 명령 프롬프트를 사용하여 CertUtil의 출력을 다운로드한 체크섬 파일과 수동으로 비교합니다.
    • CertUtil -hashfile kubectl-convert.exe SHA256
      type kubectl-convert.exe.sha256
      
    • PowerShell을 사용하여 연산자를 사용하여 확인을 자동화하여 결과 를 -eq얻습니다 .TrueFalse
    • $($(CertUtil -hashfile .\kubectl-convert.exe SHA256)[1] -replace " ", "") -eq $(type .\kubectl-convert.exe.sha256)
      
  4. 체크섬 파일을 다운로드합니다 kubectl-convert.
  5. kubectl-convert환경 변수 에 바이너리 폴더를 추가하거나 앞에 추가합니다 PATH.
  6. 플러그인이 성공적으로 설치되었는지 확인합니다.오류가 표시되지 않으면 플러그인이 성공적으로 설치된 것입니다.
  7. kubectl convert --help
    
  8. 플러그인을 설치한 후 설치 파일을 정리합니다.
  9. del kubectl-convert.exe kubectl-convert.exe.sha256
반응형