1. kubectx
kubectx는 cluster 간의 전환을 쉽고 빠르게 할 수 있게 해주는 플러그인입니다.
A. kubectl 명령어를 이용한 context 변경
# 컨텍스트 리스트 출력
kubectl config get-contexts
# kind-kind 를 기본 컨텍스트로 설정
kubectl config use-context kind-kind
B. kubectx 설치
# kubectx 설치
wget https://github.com/ahmetb/kubectx/releases/download/v0.9.4/kubectx
sudo install kubectx /usr/local/bin
# 설치확인
$ which kubectx
/usr/local/bin/kubectx
C. kubectx 사용법
context 목록 확인
# kubectx :: context 목록 확인
➜ ~ kubectx
kind-kind
vcluster_my-vcluster_vcluster-my-vcluster_kind-kind
context 전환
# kubectx <CONTEXT> :: context 전환
➜ ~ kubectx kind-kind
Switched to context "kind-kind".
2. kubens
kubens 는 쿠버네티스 클러스터 내에서 네임스페이스 변환을 쉽게 해주는 플러그인입니다.
A. kubectl 명령어를 이용한 특정 namespace 의 pod 조회
kubectl get pods -n argocd
kubens를 사용하게 되면 namespace 에 해당하는 pods를 바로 조회 할수 있습니다.
B. kubens 설치
# kubens 설치
wget https://github.com/ahmetb/kubectx/releases/download/v0.9.4/kubens
sudo install kubens /usr/local/bin
# 설치확인
$ which kubens
/usr/local/bin/kubens
C. namespcae 조회 (kubens)
# kubens
➜ ~ kubens
default
ingress-nginx
kube-node-lease
kube-public
kube-system
local-path-storage
vcluster-my-vcluster
D. namespcae 변경 및 해당 namespace 리소스 조회
# kubens <namespace>
➜ ~ kubens ingress-nginx
Context "kind-kind" modified.
Active namespace is "ingress-nginx".
# -n ingress-nginx 를 추가하지않아도 해당 namespace 의 pod 조회
➜ ~ kubectl get po
NAME READY STATUS RESTARTS AGE
ingress-nginx-admission-create-svg7q 0/1 Completed 0 20h
ingress-nginx-admission-patch-hms24 0/1 Completed 0 20h
ingress-nginx-controller-6b7f45576b-r7qxl 1/1 Running 0 20h
3. kubectx , kubens 자동완성
kubens , 와 kubectx 뒤에 namaspcae 나 context-name 를 tab 으로 자동완성 하니 더 편해졌다.
wsl + zsh + oh-my-zsh 를 쓰고 있으므로 zsh 버전으로 다운받아 사용했습니다.
본인이 사용하고 있는 shell 에 맞게 다운받아 사용하시면됩니다.
# https://github.com/ahmetb/kubectx/blob/master/completion 에서 bash , zsh ... 에 맞게 설정
mkdir -p ~/.oh-my-zsh/completions
chmod -R 755 ~/.oh-my-zsh/completions
curl -o ~/.oh-my-zsh/completions/_kubens.zsh https://github.com/ahmetb/kubectx/blob/master/completion/_kubectx.zsh
curl -o ~/.oh-my-zsh/completions/_kubens.zsh https://github.com/ahmetb/kubectx/blob/master/completion/_kubens.zsh
.zshrc 에 한 줄(autoload -U compinit && compinit)을 추가
# autoload -U compinit && compinit 추가
echo "autoload -U compinit && compinit" >> ~/.zshrc
# 적용
source ~/.zshrc
'Kubernetes' 카테고리의 다른 글
[kubectl] krew - Kubernetes Plugin Manager (0) | 2023.07.10 |
---|---|
vCluster (Multi-Tenancy in Kubernetes) (0) | 2023.07.10 |
nginx ingress controller tcp 설정 (0) | 2022.12.26 |
k3d & nginx igress - 로컬 PC 에 쿠버네티스 설치 (0) | 2022.12.26 |
kind & nginx ingress - 로컬 PC 에 쿠버네티스 설치 (0) | 2022.12.26 |