Essential Kube Tools
Kube 사용 시 꼭 필요한 관련 Tool들을 소개해 드립니다. 개발자 분들이 흔히 개발 도구 갖추는 게 업무의 반이라고 이야기 하듯이 Kube 역시 마찬가지입니다.관련 Tool들을 사용하고 안하고는 업무의 속도가 어마어마하게 차이납니다. 혹시 지금이라도 Kube 운영을 서버에 일일이 접속해서 VI 열어서 한땀한땀 수정 혹은 명령어 기반으로 한다면 반드시 바꾸셔야 됩니다. ^^
기본 Tool 리스트 (윈도우 환경)
- Visual Studio Code
- WSL(Window Subsystem Linux) + Windows Terminal
- Kubeps1 + Kubectx + Kubens
- 단축 Alias 사용
- Kubectl neat, kube tail
(기본 설치 관련 내용은 구글 검색으로 쉽게 하실 수 있어 생략합니다.)
Visual Studio Code
- Indentation, 문자열 전체 변경, Kube 기본 문법 체크, 멀티라인 들여쓰기/주석 처리 등 지원
- 서버 접속해서 VI 사용하지 마시고 개인 PC에 VS Code 설치하셔서 바로 YAML 수정하셔야 합니다.
WSL & Window Terminal
- 윈도우 환경에서도 편하게 WSL로 리눅스 사용 가능합니다.
단축키, Shift + Alt + (-, +) 사용하시면 편리하게 화면 분할됩니다. 다른 화면 결과 기준으로 작업 할 일이 많은데 많은 도움이 됩니다.
Kubeps1
- 설치 참조
- Kube Cluster 운영하면 각 프로젝트 별 운영/개발/스테이징 등 여러 대 클러스터를 운영하게 됩니다. (저만 해도 클러스터가 10대가 넘어가네요) 당연히 클러스터가 헷갈릴 수 있습니다. 다른 클러스터에 YAML Apply 하면 큰일납니다. 저는 실제로 운영 클러스터 POD 다 내린(k delete pod — all) 아찔한 경험이 있습니다. 반드시 kubeps1 설치하셔서 어떤 클러스터 인지 확인하시고 명령어 치셔야 합니다.
Kubectx + Kubens
- 설치 참조
- kube config 명령어를 일일이 치는 것은 시간이 많이 걸리고 외우기도 어렵습니다. 각 클러스터 간 이동을 하고 네임스페이스 변경 시 간단히 kubectx, kubens 사용 하시면 됩니다.
단축 Alias 사용
- 자주 사용하는 명령어는 Alias 로 빠르게 사용 가능합니다. 엔지니어의 중요한 덕목은 시간 단축 입니다. ^^
https://github.com/ahmetb/kubectl-aliases (무려 800개 ^^)
제가 사용하는 단축 명령어는 kgp(k get pod), kgpw(k get pod -w), kgpa(k get pod -A) 3개 입니다. ^^
Kubeneat
- https://github.com/itaysk/kubectl-neat
- k get pod -o yaml 결과물을 neat(날씬하게) 줄여주는 명령어 입니다.
- Before
- After
kube tail
- https://github.com/johanhaleby/kubetail
- 여러개 POD 로그를 같이 보는 Tool 입니다. 설명은 저의 이전 포스팅 참조 부탁 드립니다.
https://jerryljh.medium.com/kubetail-multiple-pod-%EB%A1%9C%EA%B7%B8-%EC%A1%B0%ED%9A%8C-91585adec403
위의 내용 등을 포함하여 저희 회사는 Managed Kubernetes Service를 Workshop(3일 정도) 형태로 제공하고 있습니다. 관심 있으신 분들은 언제든지 문의 부탁 드립니다.
Diamanti & Managed Kubernetes Service 문의 : leejunghoon@spkr.co.kr
물론 저도 초보이고 저보다 훨씬 체계적으로 관련 Tool들을 정리하신 분들이 많습니다. 아래 글도 꼭 보시는 것을 추천 드립니다.
참조
https://blog.usejournal.com/useful-tools-for-better-kubernetes-development-87820c2b9435