DevOps/Kubernetes
[Kubernetes] kubectx, kubens, powerlevel10k (쿠버네티스 유용한 플러그인)
TTOII
2022. 6. 9. 10:18
728x90
🚀 powerlevel10k
쿠버네티스 작업을 할 때 다양한 작업 환경(프로덕션, 테스트, minikube) 및 여러개의 클러스터, 권한이 모두 다른 사용자들, 여러개의 컨텍스트가 존재할 것이다.
이럴 때 어떤 환경에서 어떤 사용자로 작업을 진행 중인지 헷갈릴 수도 있고 실수로 인한 사고가 나는 경우가 잦다.
powerlevel10k - 현재 사용 중인 context 정보를 프롬프트에 출력해 실수의 여지를 줄일 수 있다.
📌 설치 방법
- 폰트 설치
- powerlevel10k 설치
- Oh My ZsH 설치
11 ZSH_THEME="powerlevel10k/powerlevel10k"
✔ with vagrant@k8s-node1 at 02:19:06
상태 코드, 호스트명, 시간 정보를 출력한다.
🚀 사용법
✔ at kubernetes-admin@cluster.local ○ with vagrant@k8s-node1 at 02:19:06
현재 사용중인 context 정보가 나온다.
🚀 Kubectx & Kubens
kubectx - 클러스터 간의 전환을 쉽고 빠르게 할 수 있게 해주는 플러그인
kubens - 쿠버네티스 클러스터 내에 네임스페이스를 쉽게 전환해주는 툴
wget https://github.com/ahmetb/kubectx/releases/download/v0.9.4/kubectx
wget https://github.com/ahmetb/kubectx/releases/download/v0.9.4/kubens
📌 설치 방법
❯ sudo install kubectx /usr/local/bin
❯ sudo install kubens /usr/local/bin
❯ which kubectx
/usr/local/bin/kubectx
❯ which kubens
/usr/local/bin/kubens
❯ ls -l /usr/local/bin/kubectx
-rwxr-xr-x 1 root root 6108 May 28 02:27 /usr/local/bin/kubectx
❯ ls -l /usr/local/bin/kubens
-rwxr-xr-x 1 root root 5555 May 28 02:27 /usr/local/bin/kubens
적절한 위치에 넣으면 실행 권한까지 부여된다.
🚀 사용법
🚀 kubectx
현재 사용 가능한 클러스터 목록 출력
kubectx
지정한 클러스터로 전환
kubectx [클러스터명]
❯ kubectx
kubernetes-admin@cluster.local
myuser@cluster.local
❯ kubectx myuser@cluster.local
Switched to context "myuser@cluster.local".
❯ kubectx
kubernetes-admin@cluster.local
myuser@cluster.local
❯ kubectl config get-contexts
CURRENT NAME CLUSTER AUTHINFO NAMESPACE
kubernetes-admin@cluster.local cluster.local kubernetes-admin
* myuser@cluster.local cluster.local myuser default
❯ kubectx kubernetes-admin@cluster.local
Switched to context "kubernetes-admin@cluster.local".
❯ kubectl config get-contexts
CURRENT NAME CLUSTER AUTHINFO NAMESPACE
* kubernetes-admin@cluster.local cluster.local kubernetes-admin
myuser@cluster.local cluster.local myuser default
🚀 kubens
모든 네임스페이스 출력
kubens
네임스페이스 전환
kubens [네임스페이스]
❯ kubens
default
dev
ingress-nginx
kube-node-lease
kube-public
kube-system
metallb-system
❯ kubens dev
Context "kubernetes-admin@cluster.local" modified.
Active namespace is "dev".
❯ kubectl get po
No resources found in dev namespace.
❯ kubens kube-system
Context "kubernetes-admin@cluster.local" modified.
Active namespace is "kube-system".
❯ kubectl get po
NAME READY STATUS RESTARTS AGE
calico-kube-controllers-5788f6558-8sp9c 1/1 Running 12 (3d23h ago) 9d
calico-node-2jpkt 1/1 Running 6 (3d23h ago) 8d
calico-node-ft9lf 1/1 Running 11 (3d23h ago) 11d
calico-node-r257f 1/1 Running 13 (3d23h ago) 11d
coredns-8474476ff8-4bmms 1/1 Running 11 (3d23h ago) 11d
coredns-8474476ff8-q7svm 1/1 Running 13 (3d23h ago) 11d
dns-autoscaler-5ffdc7f89d-r45qt 1/1 Running 13 (3d23h ago) 11d
kube-apiserver-node1 1/1 Running 14 (3d23h ago) 11d
kube-controller-manager-node1 1/1 Running 16 (3d23h ago) 11d
kube-proxy-9d5mw 1/1 Running 2 (3d23h ago) 6d9h
kube-proxy-m2xmr 1/1 Running 3 (3d23h ago) 6d9h
kube-proxy-zmm5n 1/1 Running 2 (3d23h ago) 6d9h
kube-scheduler-node1 1/1 Running 17 (3d23h ago) 11d
metrics-server-c57c76cf4-x9nwj 1/1 Running 3 (3d23h ago) 6d9h
nginx-proxy-node2 1/1 Running 11 (3d23h ago) 11d
nginx-proxy-node3 1/1 Running 7 (3d23h ago) 8d
nodelocaldns-hbm44 1/1 Running 6 (3d23h ago) 8d
nodelocaldns-mq9nm 1/1 Running 153 (3d23h ago) 11d
nodelocaldns-qc6vf 1/1 Running 157 (3d23h ago) 11d
728x90