데이터다이나믹스, K3s·Kubernetes 터미널 관리 도구 'k3stui' 오픈소스로 공개
데이터다이나믹스가 K3s·RKE2·kubeadm 클러스터의 리소스와 노드(호스트)를 터미널 하나에서 관리하는 TUI 'K3s & K8s Management TUI(k3stui)'를 Apache License 2.0으로 GitHub에 공개했다. 서비스 제어, 설정 편집, 데이터스토어 백업, 인증서 갱신까지 한 화면에서 처리한다.
k9s가 다루지 않던 '노드 관리'까지 … 서비스·설정·백업·인증서를 터미널 한 화면에서
AI 및 데이터 플랫폼 전문기업 주식회사 데이터다이나믹스(Data Dynamics) 가 K3s와 Kubernetes 클러스터를 터미널에서 관리하는 TUI(Text User Interface) 도구 'K3s & K8s Management TUI(k3stui)' 를 오픈소스로 공개한다고 6일 밝혔다. 소스코드는 GitHub 공개 저장소 DataDynamics/k3s-management-tui에서 받을 수 있으며, 라이선스는 상용 활용에 제약이 없는 Apache License 2.0 이다.

리소스 관리를 넘어 '노드 관리'까지
k9s 같은 기존 터미널 도구는 Pod, Deployment, Service 등 Kubernetes 리소스를 다루는 데 초점을 둔다. 하지만 온프레미스·엣지 환경에서 K3s를 직접 운영하다 보면 실제 장애 대응의 상당 부분은 노드(호스트) 쪽에서 일어난다. k3s 서비스 재시작과 로그 확인, config.yaml 수정, 데이터스토어 백업, 만료가 다가오는 인증서 갱신 같은 작업이다. 지금까지는 이를 위해 systemctl, journalctl, vi, sqlite3, k3s certificate 등 여러 명령을 오가야 했다.
k3stui는 이 두 영역을 하나의 터미널 화면으로 합쳤다. 실행한 노드의 배포판을 자동으로 판별해, 그에 맞는 노드 관리 기능을 구성한다.
| 배포판 | 리소스 관리 | 노드 관리 (Host 탭) |
|---|---|---|
| K3s | 지원 | k3s 서비스, config.yaml, 자동 배포 manifest, SQLite·etcd 백업과 SQLite 복원, 인증서 갱신, 노드 추가 명령 |
| RKE2 | 지원 | rke2-server/agent 서비스, config.yaml, 자동 배포 manifest, etcd 스냅샷, 인증서 갱신, 노드 추가 명령 |
| kubeadm | 지원 | kubelet 서비스와 설정, static Pod 편집, PKI 인증서 갱신, etcd 스냅샷, 노드 추가 토큰 |
| EKS·GKE·AKS 등 관리형·원격 클러스터 | 지원 | — (리소스 관리만) |
주요 기능
- 대시보드 — 클러스터 요약, 노드별 CPU·메모리·Pod 게이지, 서비스 상태, 데이터스토어 크기, 가장 빠른 인증서 만료일, 디스크 사용률, 문제 Pod, 최근 Warning 이벤트를 한눈에 보여준다.
- 리소스 조회·작업 — Workloads·Network·Storage·Config·Helm 탭에서 리소스를 실시간(watch)으로 조회하고, describe·YAML 보기·
$EDITOR편집·삭제·로그 follow·컨테이너 셸·포트포워딩·스케일·롤아웃 재시작·노드 cordon/drain을 단축키로 실행한다. - 노드 서비스 제어 — 서비스 상태·가동 시간·메모리 확인, 시작·중지·재시작,
journalctl로그 스트림, 노드 추가 명령 생성. - 설정 편집 —
/etc/rancher/k3s/config.yaml을 YAML 검증 → 변경 비교(diff) → 백업 후 저장 → 재시작 확인 프롬프트 순서로 안전하게 수정한다. - 데이터스토어·인증서 — SQLite 온라인 백업과 복원, etcd 스냅샷, 인증서 만료 확인과 갱신.
- 기타 — containerd 컨테이너·이미지 조회와 미사용 이미지 정리, Helm 릴리스(values·이력·롤백), Cilium 에이전트 상태, local-path PVC별 실제 디스크 사용량.

Host 탭에서는 k3s 서비스 상태와 버전, API 서버, 데이터스토어, 디스크 사용량을 확인하고 서비스를 바로 제어할 수 있다. l 키를 누르면 journalctl -u k3s 로그를 실시간으로 따라가며, 오류와 경고를 색으로 구분해 보여준다.


운영자가 가장 놓치기 쉬운 인증서 만료도 한 화면에서 관리한다. 인증서를 만료가 빠른 순서로 정렬하고, 30일 이내 만료는 노란색, 이미 만료된 인증서는 빨간색으로 표시한다.

운영 환경을 위한 안전 장치
노드를 직접 다루는 도구인 만큼, 실수로 클러스터를 망가뜨리지 않도록 여러 겹의 안전 장치를 갖췄다.
- 읽기 전용 모드 —
--read-only로 실행하면 모든 변경 작업이 막히고 헤더에READ-ONLY가 표시된다. - 이름 재입력 확인 —
kube-system같은 보호 네임스페이스의 리소스 변경, 서비스 제어, 데이터스토어 복원, 인증서 갱신, 노드 drain은 대상 이름을 다시 입력해야 실행된다. - 감사 로그 — 모든 변경 작업을
/var/log/k3stui/audit.log에 JSON Lines로 남기며,sudo로 실행한 경우 원래 사용자도 함께 기록한다. - 백업 우선 — 설정 파일은 저장 전에 백업하고, SQLite 데이터스토어는 K3s 실행 중에도
VACUUM INTO로 일관된 사본을 만든다. 복원 시에는 무결성과 서버 토큰 일치를 먼저 검사한다. - 포트포워딩 격리 — 기본으로
127.0.0.1에만 바인딩하고, TUI를 종료하면 모두 중지된다.

설치와 사용
k3stui는 Go로 작성된 정적 바이너리 하나로 배포된다. GitHub Release에서 linux amd64·arm64 실행 파일과 tar.gz, deb, rpm(el8·el9·el10) 패키지를 받을 수 있어, 인터넷이 제한된 폐쇄망 서버에도 파일 하나만 옮겨 바로 쓸 수 있다.
sudo k3stui --check # kubeconfig·API 서버·배포판·서비스·데이터스토어 환경 점검
sudo k3stui # 노드 관리까지 포함해 실행
k3stui --context prod-cluster --read-only # 원격 클러스터를 읽기 전용으로 조회노드 관리 기능은 API 서버가 있는 노드에서 root 권한으로 실행할 때 켜진다. 원격 클러스터나 관리형 Kubernetes에서는 kubeconfig와 kubectl만 있으면 리소스 관리 기능을 그대로 쓸 수 있다.
커뮤니티와 함께
데이터다이나믹스는 Argus Catalog에 이어 k3stui까지, 고객 현장의 온프레미스·폐쇄망 운영 경험에서 나온 도구를 꾸준히 오픈소스로 공개하고 있다. 버그 제보와 기능 제안, 풀리퀘스트는 GitHub 저장소에서 누구나 참여할 수 있다.
- GitHub: github.com/DataDynamics/k3s-management-tui
- 라이선스: Apache License 2.0