02B. Windows
02B. Windows ๊ด๋ จ
Docker ์ค์น
Minikube๋ฅผ ์ค์นํ๊ธฐ ์ ์ Docker๋ถํฐ ์ค์นํฉ๋๋ค. Windows์ Docker๋ฅผ ์ค์นํ๋ ๋ฐฉ๋ฒ์ ๋ค์ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ๊ธฐ ๋ฐ๋๋๋ค.
Minikube ์ค์น
Windows์ Minikube๋ฅผ ์ค์นํ๋ ๋ฐฉ๋ฒ์ ๊ฐ๋จํฉ๋๋ค. PowerShell์ ๊ด๋ฆฌ์ ๊ถํ์ผ๋ก ์คํํ ๋ค ๋ค์ ๋ช ๋ น์ ์คํํฉ๋๋ค.
- Windows
- x86-64
- Stable
.exe
download
New-Item -Path 'C:\' -Name 'minikube' -ItemType Directory -Force
Invoke-WebRequest -OutFile 'C:\minikube\minikube.exe' -Uri 'https://github.com/kubernetes/minikube/releases/latest/download/minikube-windows-amd64.exe' -UseBasicParsing
๋ค์์ ํ๊ฒฝ ๋ณ์์ Path
์ C:\minikube
๋ฅผ ์ถ๊ฐํฉ๋๋ค.
$oldPath = [Environment]::GetEnvironmentVariable('Path', [EnvironmentVariableTarget]::Machine)
if ($oldPath.Split(';') -inotcontains 'C:\minikube') {
[Environment]::SetEnvironmentVariable('Path', $('C:\minikube;{0}' -f $oldPath), [EnvironmentVariableTarget]::Machine)
}
์ด ๋ช ๋ น์ ์คํํ์ผ๋ฉด PowerShell์ ์ข ๋ฃํ ๋ค ๋ค์ ์คํํฉ๋๋ค.
kubectl
์ค์น
์ฟ ๋ฒ๋คํฐ์ค๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด kubectl
์ด ํ์ํฉ๋๋ค. ๋ค์ ๋ช
๋ น์ ์
๋ ฅํ์ฌ kubectl
์ ์ค์นํฉ๋๋ค. Windows๋ Docker Desktop์ kubectl
์ด ํฌํจ๋์ด ์์ง๋ง, ์ํํ ์ค์ต์ ์ํด kubectl
์ ์๋ก ์ค์นํ๊ฒ ์ต๋๋ค.
Invoke-WebRequest -OutFile 'C:\minikube\kubectl.exe' -Uri 'https://dl.k8s.io/release/v1.25.0/bin/windows/amd64/kubectl.exe' -UseBasicParsing
minikube kubectl
์ฌ์ค minikube kubectl
์ฒ๋ผ minikube ์์ ๋ด์ฅ๋ kubectl
์ ์คํํ ์๋ ์์ต๋๋ค. ์์ผ๋ก๋ ์ฟ ๋ฒ๋คํฐ์ค๋ฅผ ๊ณ์ ์ธ ๊ฒ์ด๋ฏ๋ก kubectl
์ ์ค์นํ๊ฒ ์ต๋๋ค.
kubectl
์ k
๋ก ๋ณ์นญ ๋ง๋ค๊ธฐ
์ฟ ๋ฒ๋คํฐ์ค๋ฅผ ์ฌ์ฉํ๋ค๋ณด๋ฉด kubectl
์ ์ ๋ฐฑ, ์ ์ฒ๋ฒ์ ์
๋ ฅํ๊ฒ ๋ฉ๋๋ค. ๋ฐ๋ผ์ kubectl
์ k
๋ก ์ค์ฌ์ ์ฐ๊ธฐ๋ ํฉ๋๋ค.
.PowerShell์์ ๋ค์ ๋ช ๋ น์ ์คํํฉ๋๋ค.
echo "Set-Alias -Name k -Value kubectl" | Out-File -Encoding ascii -Append $PROFILE
์ด์ k
๋ง ์
๋ ฅํ๋ฉด kubectl
์ ์คํํ ์ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ค์ ๋ช
๋ น์ ์คํํ์ฌ kubectl
ํ์ ๋ช
๋ น์ ์๋์์ฑ ๊ธฐ๋ฅ๋ ํ์ฑํํด์ค๋๋ค.
kubectl completion powershell | Out-File -Encoding ascii -Append $PROFILE
๊ทธ๋ค์์ notpad๋ก $PROFILE
์ ์ด์ด์ ๋ด์ฉ์ ์์ ํฉ๋๋ค.
notepad $PROFILE
์๋ ๋ด์ฉ์
$PROFILE
Register-ArgumentCompleter -CommandName 'kubectl' -ScriptBlock {
์๋์ ๊ฐ์ด ์์ ํฉ๋๋ค. ์ฆ, k
๋ง ์
๋ ฅํ์ ๋๋ ์๋์์ฑ์ด ๋๋๋ก ์์ ํ๋ ๊ฒ์
๋๋ค.
$PROFILE
Register-ArgumentCompleter -CommandName 'k' -ScriptBlock {
๋ค์ ๋ช
๋ น์ ์คํํ์ฌ $PROFILE
์ ์์ ๋ ๋ด์ฉ์ ๋ฐ์ํด์ค๋๋ค.
& $PROFILE
์๋์์ฑ ๊ธฐ๋ฅ์ k get
์ ์
๋ ฅํ๊ณ ์ ํ ๋ k
์์ g
๋ง ์
๋ ฅํ๊ณ ํญ ํค๋ฅผ ๋๋ฅด๋ฉด get
์ผ๋ก ์๋์์ฑ์ด ๋ฉ๋๋ค. ๊ธฐํ ๋ช
๋ น๋ค๊ณผ ์ต์
๋ค๋ ์๋์์ฑ๋๋ ์ ๊ทน์ ์ผ๋ก ํ์ฉํ๊ธฐ ๋ฐ๋๋๋ค.
PowerShell_profile.ps1 ํ์ผ์ ๋ก๋ํ ์ ์์ต๋๋ค.
.PowerShell์์ & $PROFILE
๋ช
๋ น์ ์คํํ๋๋ฐ, ๋ค์๊ณผ ๊ฐ์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ์๋ PowerShell์์ ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ ์ ์๋๋ก ์ค์ ์ ํด์ฃผ์ด์ผ ํฉ๋๋ค.
# & : C:\Users\pyrasis\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 ํ์ผ์ ๋ก๋ํ ์ ์์ต๋๋ค. C:\Users\pyrasis\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 ํ์ผ์ด ๋์งํธ ์๋ช
๋์ง ์์์ต๋๋ค. ํ์ฌ ์์คํ
์์ ์ด ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ ์ ์์ต๋๋ค. ์คํฌ๋ฆฝํธ ์คํ ๋ฐ ์คํ ์ ์ฑ
์ค์ ์ ๋ํ ์์ธํ ๋ด์ฉ์ about_Execution_Policies(https://go.microsoft.com/fwlink/?LinkID=135170)๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
# ์์น ์ค:1 ๋ฌธ์:3
# + & $PROFILE
# + ~~~~~~~~
# + CategoryInfo : ๋ณด์ ์ค๋ฅ: (:) [], PSSecurityException
# + FullyQualifiedErrorId : UnauthorizedAccess
.PowerShell์ ๊ด๋ฆฌ์ ๊ถํ์ผ๋ก ์คํํ ๋ค ๋ค์ ๋ช ๋ น์ ์คํํฉ๋๋ค.
Set-ExecutionPolicy RemoteSigned
์ด์ ๋ค์ & $PROFILE
๋ช
๋ น์ ์คํํฉ๋๋ค.
& $PROFILE