IT 관리 / 개발자 / 오픈소스 / 클라우드

더 ‘쉬운’ 쿠버네티스를 위한 11가지 도구

Serdar Yegulalp | InfoWorld 2019.12.16
쿠버네티스는 컨테이너화된 애플리케이션을 대규모로 배포하기 위한 가장 유력한 표준으로 자리잡았다. 그러나 쿠버네티스가 복잡한 컨테이너 배포를 관리할 수 있게 해주는 것과는 별개로, 쿠버네티스를 쉽게 사용하는 데 도움이 되는 툴도 있을까? 쿠버네티스 자체도 너무 복잡하고 골치 아프고 관리하기 어려울 수 있다.

물론 쿠버네티스의 매끄럽지 않은 부분들은 쿠버네티스가 발전하고 성장하면서 프로젝트 내에서 다듬어질 것이다. 그러나 어떤 사람들은 쿠버네티스를 쉽게 다룰 수 있게 될 때까지 그냥 앉아서 기다리지 않고 프로덕션에서 쿠버네티스를 사용할 때 발생하는 여러 일반적인 문제에 대해 스스로 해결책을 만들어 내놓았다.
 
ⓒ Getty Images Bank
 

비트나미 캐빈(Bitnami Cabin): iOS와 안드로이드를 위한 쿠버네티스 대시보드

현대 웹 애플리케이션이나 서비스라면 당연히 모바일 인터페이스가 있어야 한다. 캐빈은 쿠버네티스 관리자를 위해 iOS 또는 안드로이드 스마트폰에서 액세스할 수 있는 쿠버네티스 대시보드 버전을 제공한다. 헬름(Helm) 차트, 배포 확장, 포드 로그 읽기, 쿠버네티스로 호스팅되는 웹 기반 앱 액세스를 비롯해 정식 쿠버네티스 대시보드에서 사용할 수 있는 기능 상당수를 캐빈에서 실행할 수 있다.
 

골드핑거(Goldpinger): 쿠버네티스 클러스터 시각화

인간은 시각적 동물이다. 그래프와 차트를 보면 큰 그림을 더 쉽게 이해할 수 있다. 쿠버네티스 클러스터의 복잡함과 넓은 범위를 감안하면 시각적인 보조 도구의 유용함은 말할 필요도 없다.

재미있는 이름의 골드핑거는 블룸버그 기술 팀이 오픈소스로 공개한 툴로, 쿠버네티스 클러스터 내에서 실행되면서 노드 간의 관계를 인터랙티브 지도로 표시해준다. 정상 노드는 녹색으로, 비정상 노드는 빨간색으로 표시된다. 노드를 클릭하면 세부 내용을 볼 수 있다. 스웨거(Swagger)로 API를 맞춤 설정해서 보고 기능과 메트릭스를 추가하거나 기타 통합이 가능하다.
 

K9s: 전체 화면 쿠버네티스 CLI UI

관리자들은 “단일 창” 유틸리티를 좋아한다. K9s는 쿠버네티스 클러스터용 전체 화면 CLI UI다. 실행 중인 포드, 로그, 배포를 한눈에 볼 수 있는 시야를 제공하며 신속한 셸 액세스가 가능하다. 참고로 K9s의 정상적인 작동을 위해서는 사용자에게 사용자 및 네임스페이스 수준에서 쿠버네티스 읽기 권한을 부여해야 한다.
 

캅스(Kops): 쿠버네티스 클러스터를 위한 명령줄 

쿠버네티스 팀이 개발한 캅스는 명령줄에서 쿠버네티스 클러스터를 관리할 수 있게 해주는 툴이다. AWS와 GCE에서 실행되는 클러스터를 지원하며 VM웨어 v스피어 및 기타 환경 지원도 현재 개발 중이다. 설정 및 해체 과정을 자동화하는 것 외에 다른 종류의 자동화에도 유용하다. 예를 들어 테라폼(Terraform) 구성을 생성해서 테라폼을 사용해 클러스터를 재배포할 수 있게 해준다.
 

큐브박스(Kubebox): 쿠버네티스용 터미널 콘솔

쿠버네티스용 고급 터미널 콘솔인 큐브박스는 단순히 쿠버네티스와 그 API에 대한 보기 좋은 셸이 아니다. 메모리/CPU 사용량, 포드 목록, 실행 로그, 구성 편집기를 인터랙티브하게 표시해주는 기능을 한다. 무엇보다 리눅스, 윈도우, 맥OS용 독립형 애플리케이션으로 제공된다는 점이 좋다.
 

큐브-ps1(Kube-ps1): 스마트한 쿠버네티스 명령 프롬프트

이름을 보고 오해하기 쉽지만 큐브-ps1은 쿠버네티스용 1세대 소니 플레이스테이션 에뮬레이터가 아니다. 배시(Bash)에 추가되는 툴로, 현재 쿠버네티스 컨텍스트와 네임스페이스를 프롬프트에 표시한다. 큐브 셸(Kube-shell)에도 이 툴이 다른 많은 유용한 기능과 함께 포함되어 있지만 더 똑똑한 프롬프트만 필요하다면 오버헤드가 거의 없는 큐브-ps1이 적당하다.
 

큐브-프롬프트(Kube-prompt): 인터랙티브 쿠버네티스 클라이언트

큐브-프롬프트 역시 미니멀하면서 유용한 쿠버네티스 CLI 수정 툴이다. 쿠버네티스 클라이언트와 ‘인터랙티브 명령 세션’을 시작할 수 있다. 큐브 프롬프트를 사용하면 모든 명령 앞에 kubectl을 입력할 필요가 없으며, 각 명령의 컨텍스트 정보를 사용한 자동 완성 기능도 제공된다.
 

큐브-셸(Kube-shell): 쿠버네티스 CLI용 셸

쿠버네티스 명령줄은 강력하지만 모든 명령줄 앱이 그렇듯이 옵션을 탐색하고 선택하는 과정이 번거롭다. 큐브-셸은 표준 쿠버네티스 명령줄을 통합 셸로 포장해서 쿠버네티스 서버에서 제공하는 제안을 포함해(예를 들어 서비스 이름) 일반적인 명령을 위한 자동 완성과 자동 제안을 제공한다. 또한 더욱 강력한 명령 내역 기능, vi 스타일의 편집 모드, 그리고 사용자와 네임스페이스, 클러스터, 기타 설치별 세부 사항에 대한 실행 컨텍스트 정보도 제공한다.
 

큐브스파이: 쿠버네티스 리소스 실시간 모니터링

풀루미(Pulumi)의 큐브스파이는 쿠버네티스 리소스의 변경을 실시간으로 추적하고 현재 상황에 대한 일종의 텍스트 뷰 대시보드를 제공하는 진단 툴이다. 예를 들어 포드가 부팅되는 과정에서 포드 정의가 Etcd에 작성되고, 포드가 노드에서 실행되도록 예약되고, 노드의 큐블릿(Kublet)이 포드를 생성하고, 최종적으로 포드가 실행 중으로 표시되기까지의 상태 변경을 감시할 수 있다. 큐브스파이는 독립형 바이너리 또는 Kubectl 플러그인으로 실행이 가능하다.
 

큐브-옵스-뷰(Kube-ops-viw): 여러 쿠버네티스 클러스터에 대한 대시보드

쿠버네티스에는 범용 모니터링을 위한 유용한 대시보드가 있지만 쿠버네티스 커뮤니티에서는 쿠버네티스 관리자에게 유용하게끔 데이터를 제공하는 다른 수단에 대한 여러 실험이 진행 중이다. 큐브-옵스-뷰는 이러한 실험 중 하나이며 여러 쿠버네티스 클러스터에 대한 전체적인 시야를 그래픽으로 제공해서 클러스터 전반의 CPU/메모리 사용량, 포드 상태 등을 한눈에 볼 수 있게 해준다. 단, 이 툴의 용도는 엄격히 시각화로 제한되기 때문에 명령을 호출할 수는 없다. 그러나 큐브-옵스-뷰가 제공하는 시각화는 눈에 잘 띄고 효율적이며, 운영 센터의 벽면 모니터에 잘 어울린다.
 

스턴(Stern), 큐브테일(Kubetail): 쿠버네티스를 위한 로그 테일링

스턴을 사용하면 쿠버네티스의 포드와 컨테이너에서 tail 명령에 따른 컬러 코드가 적용된 출력을 생성할 수 있다. 여러 리소스의 모든 출력을 한눈에 읽을 수 있는 하나의 스트림으로 보낼 수 있는 빠른 방법이다. 또한 컬러 코드를 통해 간편히 스트림을 구분할 수 있다.

큐브테일 역시 여러 포드의 로그를 하나의 스트림으로 집계하고 다양한 포드와 컨테이너에 컬러 코드를 적용한다. 큐브테일은 배시 스크립트이므로 셸만 있으면 된다. editor@itworld.co.kr
 

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.