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 ๋ฐ”์ด๋„ˆ๋ฆฌ ์„ค์น˜

  1. ์ตœ์‹  ํŒจ์น˜ ๋ฆด๋ฆฌ์Šค 1.34 ๋‹ค์šด๋กœ๋“œ: kubectl 1.34.0

    ๋˜๋Š” curl ์„ ์„ค์น˜ํ•œ ๊ฒฝ์šฐ, ๋‹ค์Œ ๋ช…๋ น์„ ์‚ฌ์šฉํ•œ๋‹ค.

    curl.exe -LO "https://dl.k8s.io/release/v1.34.0/bin/windows/amd64/kubectl.exe"
    
  2. ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ๊ฒ€์ฆํ•œ๋‹ค. (์„ ํƒ ์‚ฌํ•ญ)

    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)
      
  3. kubectl ๋ฐ”์ด๋„ˆ๋ฆฌ๊ฐ€ ์žˆ๋Š” ํด๋”๋ฅผ PATH ํ™˜๊ฒฝ ๋ณ€์ˆ˜์˜ ์•ž๋ถ€๋ถ„ ๋˜๋Š” ๋’ท๋ถ€๋ถ„์— ์ถ”๊ฐ€

  4. kubectl ์˜ ๋ฒ„์ „์ด ๋‹ค์šด๋กœ๋“œํ•œ ๋ฒ„์ „๊ณผ ๊ฐ™์€์ง€ ํ™•์ธํ•œ๋‹ค.

    kubectl version --client
    

    ๋˜๋Š” ๋‹ค์Œ์„ ์‹คํ–‰ํ•˜์—ฌ ๋ฒ„์ „์— ๋Œ€ํ•œ ๋” ์ž์„ธํ•œ ์ •๋ณด๋ฅผ ๋ณธ๋‹ค.

    kubectl version --client --output=yaml    
    

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์ด ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์ฐพ์•„ ์ ‘๊ทผํ•˜๋ ค๋ฉด, 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๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ์ฐธ๊ณ ํ•œ๋‹ค.

  1. ๋‹ค์Œ ๋ช…๋ น์œผ๋กœ ์ตœ์‹  ๋ฆด๋ฆฌ์Šค๋ฅผ ๋‹ค์šด๋กœ๋“œํ•œ๋‹ค.

    curl.exe -LO "https://dl.k8s.io/release/v1.34.0/bin/windows/amd64/kubectl-convert.exe"
    
  2. ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ๊ฒ€์ฆํ•œ๋‹ค. (์„ ํƒ ์‚ฌํ•ญ)

    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)
      
  3. kubectl-convert ๋ฐ”์ด๋„ˆ๋ฆฌ๊ฐ€ ์žˆ๋Š” ํด๋”๋ฅผ PATH ํ™˜๊ฒฝ ๋ณ€์ˆ˜์˜ ์•ž๋ถ€๋ถ„ ๋˜๋Š” ๋’ท๋ถ€๋ถ„์— ์ถ”๊ฐ€

  4. ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์ •์ƒ์ ์œผ๋กœ ์„ค์น˜๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.

    kubectl convert --help
    

    ์—๋Ÿฌ๊ฐ€ ์ถœ๋ ฅ๋˜์ง€ ์•Š๋Š”๋‹ค๋ฉด, ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์ •์ƒ์ ์œผ๋กœ ์„ค์น˜๋œ ๊ฒƒ์ด๋‹ค.

๋‹ค์Œ ๋‚ด์šฉ

์ตœ์ข… ์ˆ˜์ • July 24, 2023 at 3:41 PM PST: Fix a bad merge (27729a98ea)