[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 -
end
set -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/