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.34 ํด๋ผ์ด์ธํธ๋ v1.33, v1.34, v1.35์ ์ปจํธ๋กค ํ๋ ์ธ๊ณผ ์ฐ๋๋ ์ ์๋ค. ํธํ๋๋ ์ต์ ๋ฒ์ ์ kubectl์ ์ฌ์ฉํ๋ฉด ์๊ธฐ์น ์์ ๋ฌธ์ ๋ฅผ ํผํ ์ ์๋ค.
์๋์ฐ์ kubectl ์ค์น
๋ค์๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ์๋์ฐ์ kubectl์ ์ค์นํ ์ ์๋ค.
- ์๋์ฐ์์ curl์ ์ฌ์ฉํ์ฌ kubectl ๋ฐ์ด๋๋ฆฌ ์ค์น
- Chocolatey, Scoop, ๋๋ winget์ ์ฌ์ฉํ์ฌ ์๋์ฐ์ ์ค์น
์๋์ฐ์์ curl์ ์ฌ์ฉํ์ฌ kubectl ๋ฐ์ด๋๋ฆฌ ์ค์น
์ต์ ํจ์น ๋ฆด๋ฆฌ์ค 1.34 ๋ค์ด๋ก๋: kubectl 1.34.0
๋๋
curl
์ ์ค์นํ ๊ฒฝ์ฐ, ๋ค์ ๋ช ๋ น์ ์ฌ์ฉํ๋ค.curl.exe -LO "https://dl.k8s.io/release/v1.34.0/bin/windows/amd64/kubectl.exe"
์ฐธ๊ณ :
์ต์ ์ ์์ ๋ฒ์ (์: ์คํฌ๋ฆฝํ ์ ์ํ)์ ์ฐพ์ผ๋ ค๋ฉด, https://dl.k8s.io/release/stable.txt๋ฅผ ์ฐธ๊ณ ํ๋ค.๋ฐ์ด๋๋ฆฌ๋ฅผ ๊ฒ์ฆํ๋ค. (์ ํ ์ฌํญ)
kubectl
์ฒดํฌ์ฌ ํ์ผ์ ๋ค์ด๋ก๋ํ๋ค.curl.exe -LO "https://dl.k8s.io/v1.34.0/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.34.0/bin/windows/amd64/kubectl-convert.exe"
๋ฐ์ด๋๋ฆฌ๋ฅผ ๊ฒ์ฆํ๋ค. (์ ํ ์ฌํญ)
kubectl-convert
์ฒดํฌ์ฌ(checksum) ํ์ผ์ ๋ค์ด๋ก๋ํ๋ค.curl.exe -LO "https://dl.k8s.io/v1.34.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)
kubectl-convert
๋ฐ์ด๋๋ฆฌ๊ฐ ์๋ ํด๋๋ฅผPATH
ํ๊ฒฝ ๋ณ์์ ์๋ถ๋ถ ๋๋ ๋ท๋ถ๋ถ์ ์ถ๊ฐํ๋ฌ๊ทธ์ธ์ด ์ ์์ ์ผ๋ก ์ค์น๋์๋์ง ํ์ธํ๋ค.
kubectl convert --help
์๋ฌ๊ฐ ์ถ๋ ฅ๋์ง ์๋๋ค๋ฉด, ํ๋ฌ๊ทธ์ธ์ด ์ ์์ ์ผ๋ก ์ค์น๋ ๊ฒ์ด๋ค.
๋ค์ ๋ด์ฉ
- Minikube ์ค์น
- ํด๋ฌ์คํฐ ์์ฑ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์์ํ๊ธฐ๋ฅผ ์ฐธ๊ณ ํ๋ค.
- ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ํ๊ณ ๋ ธ์ถํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๋ฐฐ์ด๋ค.
- ์ง์ ์์ฑํ์ง ์์ ํด๋ฌ์คํฐ์ ์ ๊ทผํด์ผ ํ๋ ๊ฒฝ์ฐ, ํด๋ฌ์คํฐ ์ ๊ทผ ๊ณต์ ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ๋ค.
- kubectl ๋ ํผ๋ฐ์ค ๋ฌธ์ ์ฝ๊ธฐ