k9s 기초

k9s 로 pod 목록보고 상태 파악하기


k9s 가 GUI 를 선호하시는 분들께 적절한 도구는 아닙니다. 하지만 저처럼 kubectl 을 사용하는 분들께는 어떤 순간에 꽤 괜찮은 도구가 됩니다.

kubectl 을 사용하는 많은 순간 k9s 를 사용할 수 있습니다. kubectl 로 하는 자주하던 일이 특정 리소스 목록을 보기, 목록에서 하나를 선택해서 더 자세한 정보 보기, 로그보기, 삭제하기가 있을텐데 k9s 에서 모두 할 수 있습니다. 더 할 수 있는 것이 많겠지만 이 UseCase 를 위주로 설명해 보겠습니다. 그러고 보니 저는 이 UseCase 말고는 거의 사용하지 않았었네요.

가장 많이 실행해 본 pod 리소스를 예로 들어봅니다. k9s 를 시작하고 :pod 입력후 엔터 누릅니다. 그럼 pod 목록이 보입니다. pod 목록에서 파악하고 싶은 pod 을 화살표로 선택하고 엔터를 누릅니다. 그럼 그 pod 안 컨테이너 목록이 보입니다. ESC 키를 누르면 다시 전 화면, 그러니까 pod 목록으로 돌아갑니다. 다시 그 Pod 을 선택한 상태에서 D 키를 누르면 YAML 을 좀 더 이쁘게 포매팅해서 상태를 볼 수 있습니다. YAML 안 정보가 모두 보이니, 현재 상태도 보이고 그 Pod 에 발생한 이벤트도 보입니다. 시작되지 않은 pod 의 문제를 파악하고 싶을 때 k9s 를 실행하고 Pod 목록으로 가서 그 Pod 을 선택하고 D키를 눌러 이벤트를 보고는 합니다.

온갖 이벤트 메세지를 볼 수 있었습니다. 기억나는 이벤트로는 Secret 이 없어서 그 Secret 을 볼륨으로 마운트 하는 도중 실패했다던지, 컨테이너 하나가 시작하자마자 바로 중지되서 다시 재시도 중이라던지 이런 이벤트가 있었습니다.

로그를 볼 때 Pod 목록에서 엔터키를 눌러 컨테이너 목록으로 들어가고 거기서 다시 L키를 누릅니다. k9s 를 쓰기 전에는 kubectl 에서 목록을 보고 다시 pod 안 container 목록 보는 명령을 치고 다시 그 pod 이름 container 이름을 복사해서 kubectl log 를 입력하던 제게는 참 편했습니다.

vi에 익숙하신 분들이라면 이질감이 없는 것이 :하고 명령을 치는 것도 너무 자연스러우실테고 검색명령도 vi 와 같이 '/' 를 누르고 검색어를 입력합니다.

예를들어 설명하고 있는데 이제 정리하면, 목록을 볼 때는 : 하고 리소스 이름 입력하기, 목록에서는 화살표로 선택 한 다음에 엔터 혹은 d 키 누르기, 또 선택한 resource 를 삭제하고 싶으면 'ctrl-d' 누르기가 되겠습니다.

처음 배울 때 화면에 나온 키를 하나씩 눌러보면서 배워 갔던 거 같아요. 여러분도 궁금할 때 화면 위쪽에 있는 키 목록을 보면서 짐작해서 가며 시험해 보는 것을 추천합니다. ? 키가 도움말 키 입니다. 화면에 기본으로 표시되지 않은 키가 좀 더 나옵니다.

언제든 전 화면으로 돌아가시려면 ESC을 눌러 뒤로 돌아갈 수 있으니 안심하세요.

https://k9scli.io/

공식 홈페이지에 가보면 제가 쓰는 아주 일부의 기능보다 훨씬 많은 feature 를 보실 수 있습니다.