본문 바로가기
Kubernetes/Config

환경설정 k (kubectl), krew 플러그인

by lumination 2023. 11. 27.

 

쿠버네티스는 kubectl을 이용해서 제어가 가능하다.

앞서 이전 글에서 kubectl get pods -o wide라고 쓰면 pod의 상태를 볼 수 있다.

그러나 엔지니어에게 너무 긴 명령어가 아닐까?

 

그래서 우리는 리눅스의 alias 기능을 활용해서 단축어 등록으로 쉽게 해결하려고 한다.

 

--

1) kubectl 단축 alias 등록

vi ~/.bashrc 셋팅

source <(kubectl completion bash)
alias k=kubectl
alias ka='kubectl get pods -o wide'
alias kgp='kubectl get pods -o wide'
alias kgd='kubectl get deploy -o wide'
alias kgs='kubectl get service -o wide'
alias kgn='kubectl get service -o wide'
alias kgn='kubectl get nodes -o wide'
alias kge='kubectl get events -w --field-selector type=Warning'
alias kgv='kubectl get pvc -o wide'
alias kgpa='kubectl get pods -o wide -A'
alias kgpw='kubectl get pods -o wide -w'
alias kgpaw='kubectl get pods -o wide -A -w'

alias krn='kubectl run nginx --image=nginx --restart=Never'
alias kcn='kubectl create deployment nginx --image=nginx'
alias krb='kubectl run busybox --image=busybox --restart=Never -- sleep 1d'
complete -F __start_kubectl k

셋팅이 되었다면 source ~/.bashrc 로 다시 로딩한다.

 

이제 kubectl get pods 가 아니라

 

k get pods로 가능하고

kgp로 kubectl get pods 전체를 요약해서 쓸 수 있다.

 

 

--

2) krew 설치

쿠버네티스에서 krew라는 플러그인 매니저를 활용한다.

mac os는 brew install krew로 손쉽게 설치가 가능한데

 

linux에서는 아래 메뉴얼을 따라 설치한다.

https://krew.sigs.k8s.io/docs/user-guide/setup/install/

 

Installing · Krew

© 2023 The Kubernetes Authors. Krew is a Kubernetes SIG CLI project. Edit Page ·

krew.sigs.k8s.io

(
  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
)


# .bashrc 추가
export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH"

# bashrc 로딩
source ~/.bashrc

 

krew가 설치되었으면 

k krew instasll

k krew search

k krew list 

등으로 사용이 가능하다.