DevOps/Kubernetes

[Kubernetes] kubectx, kubens, powerlevel10k (쿠버네티스 유용한 플러그인)

TTOII 2022. 6. 9. 10:18
728x90

🚀 powerlevel10k

 

GitHub - romkatv/powerlevel10k: A Zsh theme

A Zsh theme. Contribute to romkatv/powerlevel10k development by creating an account on GitHub.

github.com

쿠버네티스 작업을 할 때 다양한 작업 환경(프로덕션, 테스트, minikube) 및 여러개의 클러스터, 권한이 모두 다른 사용자들, 여러개의 컨텍스트가 존재할 것이다.

이럴 때 어떤 환경에서 어떤 사용자로 작업을 진행 중인지 헷갈릴 수도 있고 실수로 인한 사고가 나는 경우가 잦다.

 

powerlevel10k - 현재 사용 중인 context 정보를 프롬프트에 출력해 실수의 여지를 줄일 수 있다.

 

📌 설치 방법

  1. 폰트 설치
  2. powerlevel10k 설치
  3. 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

 

GitHub - ahmetb/kubectx: Faster way to switch between clusters and namespaces in kubectl

Faster way to switch between clusters and namespaces in kubectl - GitHub - ahmetb/kubectx: Faster way to switch between clusters and namespaces in kubectl

github.com

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