Information in this document may be out of date
This document has an older update date than the original, so the information it contains may be out of date. If you're able to read English, see the English version for the most up-to-date information: Install and Set Up kubectl on Windows
윈도우에 kubectl 설치 및 설정
시작하기 전에
클러스터의 마이너(minor) 버전 차이 내에 있는 kubectl 버전을 사용해야 한다. 예를 들어, v1.29 클라이언트는 v1.28, v1.29, v1.30의 컨트롤 플레인과 연동될 수 있다. 호환되는 최신 버전의 kubectl을 사용하면 예기치 않은 문제를 피할 수 있다.
윈도우에 kubectl 설치
다음과 같은 방법으로 윈도우에 kubectl을 설치할 수 있다.
윈도우에서 curl을 사용하여 kubectl 바이너리 설치
최신 패치 릴리스 1.29 다운로드: kubectl 1.29.2
또는
curl
을 설치한 경우, 다음 명령을 사용한다.curl.exe -LO "https://dl.k8s.io/release/v1.29.2/bin/windows/amd64/kubectl.exe"
참고: 최신의 안정 버전(예: 스크립팅을 위한)을 찾으려면, https://dl.k8s.io/release/stable.txt를 참고한다.바이너리를 검증한다. (선택 사항)
kubectl
체크섬 파일을 다운로드한다.curl.exe -LO "https://dl.k8s.io/v1.29.2/bin/windows/amd64/kubectl.exe.sha256"
kubectl
바이너리를 체크섬 파일을 통해 검증한다.커맨드 프롬프트를 사용하는 경우,
CertUtil
의 출력과 다운로드한 체크섬 파일을 수동으로 비교한다.CertUtil -hashfile kubectl.exe SHA256 type kubectl.exe.sha256
PowerShell을 사용하는 경우,
-eq
연산자를 통해True
또는False
결과가 출력되는 자동 검증을 수행한다.$($(CertUtil -hashfile .\kubectl.exe SHA256)[1] -replace " ", "") -eq $(type .\kubectl.exe.sha256)
kubectl
바이너리가 있는 폴더를PATH
환경 변수의 앞부분 또는 뒷부분에 추가kubectl
의 버전이 다운로드한 버전과 같은지 확인한다.kubectl version --client
또는 다음을 실행하여 버전에 대한 더 자세한 정보를 본다.
kubectl version --client --output=yaml
kubectl
을 PATH
에 추가한다.
도커 데스크톱을 이전에 설치한 경우, 도커 데스크톱 설치 프로그램에서 추가한 PATH
항목 앞에 PATH
항목을 배치하거나 도커 데스크톱의 kubectl
을 제거해야 할 수도 있다.Chocolatey, Scoop, 또는 winget을 사용하여 윈도우에 설치
윈도우에 kubectl을 설치하기 위해서 Chocolatey 패키지 관리자, Scoop 커맨드 라인 설치 프로그램, winget 패키지 관리자를 사용할 수 있다.
choco install kubernetes-cli
scoop install kubectl
winget install -e --id Kubernetes.kubectl
설치한 버전이 최신 버전인지 확인한다.
kubectl version --client
홈 디렉터리로 이동한다.
# cmd.exe를 사용한다면, 다음을 실행한다. cd %USERPROFILE% cd ~
.kube
디렉터리를 생성한다.mkdir .kube
금방 생성한
.kube
디렉터리로 이동한다.cd .kube
원격 쿠버네티스 클러스터를 사용하도록 kubectl을 구성한다.
New-Item config -type file
kubectl 구성 확인
kubectl이 쿠버네티스 클러스터를 찾아 접근하려면,
kube-up.sh를
사용하여 클러스터를 생성하거나 Minikube 클러스터를 성공적으로 배포할 때 자동으로 생성되는
kubeconfig 파일이
필요하다.
기본적으로, 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
선택적 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로 작성된 매니페스트를 다른 버전으로
변환할 수 있도록 한다. 이것은 매니페스트를 최신 쿠버네티스 릴리스의 사용 중단되지 않은 API로 마이그레이션하는 데 특히 유용하다.
더 많은 정보는 다음의 사용 중단되지 않은 API로 마이그레이션을 참고한다.
다음 명령으로 최신 릴리스를 다운로드한다.
curl.exe -LO "https://dl.k8s.io/release/v1.29.2/bin/windows/amd64/kubectl-convert.exe"
바이너리를 검증한다. (선택 사항)
kubectl-convert
체크섬(checksum) 파일을 다운로드한다.curl.exe -LO "https://dl.k8s.io/v1.29.2/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)
kubectl-convert
바이너리가 있는 폴더를PATH
환경 변수의 앞부분 또는 뒷부분에 추가플러그인이 정상적으로 설치되었는지 확인한다.
kubectl convert --help
에러가 출력되지 않는다면, 플러그인이 정상적으로 설치된 것이다.
다음 내용
- Minikube 설치
- 클러스터 생성에 대한 자세한 내용은 시작하기를 참고한다.
- 애플리케이션을 시작하고 노출하는 방법에 대해 배운다.
- 직접 생성하지 않은 클러스터에 접근해야 하는 경우, 클러스터 접근 공유 문서를 참고한다.
- kubectl 레퍼런스 문서 읽기