Kubectl — kubectx, kubens
4 min readJan 4, 2021
지난 1년 간 Kube Cluster 여러 대 운용(6대 클러스터, Baremetal 기준 23대) 하고 있다. 여러 클러스터를 옮겨 다녀야 하고 하나의 클러스터 내에서 여러 Namespace 변경이 필요하다. 자연히 편한 Tool이 필요 하다. 혼자서 bash script를 만들기도 하였지만, 역시 비슷한 불편을 가진 사람이 있었고 kubectx라는 아래의 멋진 오픈소스가 있다.
참조
내 경우 Bash 기준으로 설치하는데, 설치 방법은 아주 간단하였다.
sudo git clone https://github.com/ahmetb/kubectx /opt/kubectx
sudo ln -s /opt/kubectx/kubectx /usr/local/bin/kubectx
sudo ln -s /opt/kubectx/kubens /usr/local/bin/kubens
난 kubectx, kubens 를 좀 더 줄이고자 kctx, kns로 변경 하였다.
(bash completion은 잘 안되었다. 이유는 잘 모르겠다. 크게 불편한 정도는 아니라 디버깅은 생략)
이제 간단한 명령어로 네임스페이스 변경이 쉽게 된다.
[spkr@erdia22 ~ (dc04:monitoring)]$ kns loki
Context “dc04” modified.
Active namespace is “loki”.
[spkr@erdia22 ~ (dc04:loki)]$ kns monitoring
Context “dc04” modified.
Active namespace is “monitoring”.
변경을 하면 굳이 -n 옵션 추가하지 않아도 kgp 명령어로 전체 POD 현황 파악이 가능하다.
[spkr@erdia22 ~ (dc04:monitoring)]$ kgp
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
alertmanager-prom-kube-prometheus-stack-alertmanager-0 2/2 Running 0 20d 10.60.20.8 hci1-dzn3 <none> <none>
grafana-8bbbbf898-mqp2m 1/1 Running 0 20d 10.60.20.12 hci1-dzn2 <none> <none>
prom-kube-prometheus-stack-operator-66b6ccb9bb-krk8r 2/2 Running 0 20d 10.60.20.10 hci1-dzn2 <none> <none>
prom-kube-state-metrics-568dc84666-mc8vf 1/1 Running 0 20d 10.60.20.9 hci1-dzn1 <none> <none>
prom-prometheus-node-exporter-2b2bt 1/1 Running 0 20d 10.61.0.22 hci1-dzn2 <none> <none>
prom-prometheus-node-exporter-ctpd2 1/1 Running 0 20d 10.61.0.24 hci1-dzn4 <none> <none>
prom-prometheus-node-exporter-kn2gn 1/1 Running 0 20d 10.61.0.23 hci1-dzn3 <none> <none>
prom-prometheus-node-exporter-ld82s 1/1 Running 0 20d 10.61.0.21 hci1-dzn1 <none> <none>
prometheus-prom-kube-prometheus-stack-prometheus-0 3/3 Running 1 20d 10.60.20.11 hci1-dzn1 <none> <none>
물론 여러 클러스터(context) 변경도 손쉽게 가능하다.
[spkr@erdia22 ~ (dc03:default)]$ kctx dc02
Switched to context “dc02”.
[spkr@erdia22 ~ (dc02:default)]$ kctx dc03
Switched to context “dc03”.
[spkr@erdia22 ~ (dc03:default)]$ kctx dc04
Switched to context “dc04”.
설치도 간단하고 이용도 편리하고 강추한다.