[k8s] krew
krew๋ k8s์ ํ๋ฌ๊ทธ์ธ ์ค์น/๊ด๋ฆฌ์ฉ ๋ณด์กฐ๋๊ตฌ๋ค. ๋จ์ํ๊ณ ์ง๊ด์ ์ธ ํํ๋ก ์ฌ์ฉํ ์ ์๋๊ฒ ์ฅ์ ์ด๋ค.
์ค์น
Linux/MacOS์ ๊ธฐ๋ณธ ์ ธ ํ๊ฒฝ์์๋ ๋ค์๊ณผ ๊ฐ์ด ์ค์นํ ์ ์๋ค.
(
set -x; cd "$(mktemp -d)" &&
OS="$(uname | tr '[:upper:]' '[:lower:]')" &&
ARCH="$(uname -m | sed -e 's/x86_64/amd64/' -e 's/\(arm\)\(64\)\?.*/\1\2/' -e 's/aarch64$/arm64/')" &&
KREW="krew-${OS}_${ARCH}" &&
curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/latest/download/${KREW}.tar.gz" &&
tar zxvf "${KREW}.tar.gz" &&
./"${KREW}" install krew
)export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH"
fish shell์ ์ข ๋ค๋ฅด๋ค. ๋ fish๋ฅผ ์จ์ ์ด๊ฑธ๋ก ๊น์๋ค.
begin
set -x; set temp_dir (mktemp -d); cd "$temp_dir" &&
set OS (uname | tr '[:upper:]' '[:lower:]') &&
set ARCH (uname -m | sed -e 's/x86_64/amd64/' -e 's/\(arm\)\(64\)\?.*/\1\2/' -e 's/aarch64$/arm64/') &&
set KREW krew-$OS"_"$ARCH &&
curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/latest/download/$KREW.tar.gz" &&
tar zxvf $KREW.tar.gz &&
./$KREW install krew &&
set -e KREW temp_dir &&
cd -
endset -gx PATH $PATH $HOME/.krew/bin

๊ทธ๋ฌ๋ฉด kubectl์ ์๋ธ์ปค๋งจ๋ ํํ๋ก krew๋ฅผ ํธ์ถํ ์ ์๊ฒ ๋ ๊ฒ์ด๋ค.

ํ๋ฌ๊ทธ์ธ ์ค์น
directpv๋ผ๋ ๋๊ตฌ๋ฅผ ๋ค์ด๋ฐ๊ณ ์ถ๋ค๋ฉด, ๋ค์๊ณผ ๊ฐ์ด install๋ฅผ ํตํด์ ๋ค์ด๋ฐ์ ์ ์๋ค.
kubectl krew install ํ๋ฌ๊ทธ์ธ
๊ฐ๋จํ๋ค.
๊ทธ๋ฆฌ๊ณ ๋ค์ด๋ก๋๋ฐ์ ํ์ฅ ๋๊ตฌ๋ค์ ๋ง์ฐฌ๊ฐ์ง๋ก kubectl์ ์๋ธ์ปค๋งจ๋ ํํ๋ก ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค.

์ค์นํ ํ๋ฌ๊ทธ์ธ๋ค์ list๋ก ํ์ธ ๊ฐ๋ฅํ๋ค.
๊ทธ ์ธ์ ๋ฒ์ ์
๊ทธ๋ ์ด๋๋ update&upgrade, ์ค์น ์ญ์ ๋ uninstall ๋ฑ์ผ๋ก ํ ์ ์๋ค.
์ฌ์ฉ๋ฒ์ ๋ณ๊ฑฐ ์๋ค.
์ฐธ์กฐ
https://krew.sigs.k8s.io/docs/user-guide/setup/install/
https://blog.bespinglobal.com/post/k8s-krew-kubectl-%ED%94%8C%EB%9F%AC%EA%B7%B8%EC%9D%B8-%EA%B4%80%EB%A6%AC-%EB%8F%84%EA%B5%AC/