Search
Duplicate
📒

[Kubernetes Infra] 01-3. CLI 최적화, krew 플러그인

상태
완료
수업
Kubernetes Infra
주제
4 more properties
참고

kubectl 앨리어스 활용

NOTE
Bash의 kubectl 자동완성 스크립트는 kubectl completion bash 명령으로 생성할 수 있다. shell에서 자동 완성 스크립트를 sourcing하면 kubectl 자동 완성 기능이 활성화된다.
그러나, 이 자동 완성 스크립트는 bash-complsetion에 의존하고 있으며, 이 소프트웨어를 먼저 설치해야 한다. type _init_completion을 실행하여 bash_completion이 설치되었는지 확인할 수 있따.
sudo apt -y install bash-completion type _init_completion echo 'source <(kubectl completion bash)' >>~/.bashrc echo 'alias k=kubectl' >>~/.bashrc echo 'complete -o default -F __start_kubectl k' >>~/.bashrc exec bash
Bash
복사
bash-completion 설치
cat << EOF >> ~/.bashrc alias k='kubectl' alias ka='kubectl apply --recursive -f' 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 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' EOF source ~/.bashrc
Bash
복사
단축키 설정코드

krew

NOTE
krew는 kubectl 플러그인 매니저이며 kubectl 커맨드 라인 환경에서 사용 가능한 다양한 플러그인을 설치, 삭제, 조회하는 기능을 제공한다!
# git이 없다면 수행 git version apt install git-all # 이대로 복사해서 실행 ( 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 ) echo "export PATH={KREW_ROOT:-$HOME/.krew}/bin:$PATH" >> ~/.bashrc source ~/.bashrc kubectl krew
Bash
복사
설치코드

kube-ctx(컨텍스트)

NOTE
kube-ctx를 사용하면 개발, 스테이징, 운영 클러스터 중에서 필요한 클러스터를 지정할 수 있다!
k krew install ctx k ctx # 등록된 클러스터 확인 k ctx [클러스터 명] k get pod -n kube-system
Bash
복사

kube-ns(네임스페이스)

NOTE
kube-ns를 사용하면 네임스페이스 변경을 쉽게 할 수 있다!
k krew install ns k ns # 등록된 네임스페이스 확인 k ns [네임스페이스 명] k get pod
Bash
복사

kube-ps1(프롬프트)

NOTE
kube-ps1을 사용하면 커맨드라인의 프롬프트에서 클러스터와 네임스페이스의 이름을 확인할 수 있다!
git clone https://github.com/jonmosco/kube-ps1.git chmod +x ./kube-ps1/kube-ps1.sh cat << EOF >> ~/.bashrc source $HOME/kube-ps1/kube-ps1.sh PS1='[\u@\h \W \$(kube_ps1)]\$ ' KUBE_PS1_SYMBOL_ENABLE=false EOF source ~/.bashrc
Bash
복사
Context 확인

kube-neat

NOTE
k krew install neat k get pod busybox -o yaml | k neat
Bash
복사