본문 바로가기
AI 생성 글 정리/tech_github

K9s: Kubernetes 운영을 터미널에서 빠르게 탐색·관찰·조작하는 TUI

by Honbul 2026. 5. 27.

K9s는 Kubernetes 클러스터를 터미널 안에서 실시간으로 탐색하고, 로그 확인·리소스 조작·포트포워딩·RBAC 확인·벤치마킹·이미지 스캔까지 이어갈 수 있게 해 주는 운영자 중심의 TUI 도구다.

 

분석 시점: 2026-05-27. 기준 브랜치는 GitHub derailed/k9s의 기본 브랜치이며, README, 공식 문서, 릴리스 페이지, go.mod, cmd/, internal/ 코드 구조를 함께 확인했다.

GitHub Wiki와 Discussions는 공개적으로 접근 가능한 별도 콘텐츠가 확인되지 않았고, README는 커뮤니티 토론 채널로 Slack을 안내한다.

따라서 본 리포트는 README·공식 문서·릴리스·소스 트리 중심으로 작성했다.


Quick Links

구분 링크
GitHub Repository https://github.com/derailed/k9s
공식 문서 https://k9scli.io/
설치 문서 https://k9scli.io/topics/install/
명령·단축키 문서 https://k9scli.io/topics/commands/
플러그인 문서 https://k9scli.io/topics/plugins/
설정 문서 https://k9scli.io/topics/config/
스킨/테마 문서 https://k9scli.io/topics/skins/
Custom Columns 문서 https://k9scli.io/topics/columns/
RBAC 문서 https://k9scli.io/topics/rbac/
Benchmark 문서 https://k9scli.io/topics/bench/
Demo Videos/Recordings README의 “Demo Videos/Recordings” 섹션
Releases https://github.com/derailed/k9s/releases

이미지 자산 매핑

이미지 경로 출처 설명하는 기능
figures/k9s_logo.png 저장소 assets/k9s.png 프로젝트 아이덴티티와 README 대표 이미지
figures/pods_resource_table.png 공식 문서 스크린샷 Pod 리소스 탐색, 상태·노드·CPU/메모리 확인
figures/deployments_resource_view.png 저장소 assets/screen_dp.png Deployment 목록과 Desired/Current/Available 상태 확인
figures/logs_stream_view.png 공식 문서 스크린샷 컨테이너 로그 스트리밍과 장애 분석
figures/pulses_cluster_dashboard.png 공식 문서 스크린샷 Pulses 기반 클러스터 상태 대시보드
figures/xray_resource_graph.png 공식 문서 스크린샷 XRay 기반 리소스 관계 그래프 탐색
figures/rbac_permissions_view.png 공식 문서 스크린샷 RBAC 권한·규칙 확인
figures/k9s_architecture_flow.png 분석용 생성 이미지 README·공식 문서·소스 구조 기반 아키텍처 재구성

Key Features

1. 실시간 Kubernetes 리소스 탐색과 조작

K9s의 기본 가치는 kubectl get, kubectl describe, kubectl logs, kubectl edit, kubectl delete를 반복 입력하던 운영 흐름을 하나의 터미널 UI로 압축하는 데 있다.

README는 K9s가 Kubernetes 변경 사항을 지속적으로 감시하고, 관찰 중인 리소스에 대해 후속 명령을 제공한다고 설명한다.

공식 문서 역시 표준 Kubernetes 리소스뿐 아니라 CRD까지 탐색할 수 있다고 정리한다.

 

Pod 화면에서는 namespace, name, ready, status, restarts, CPU, memory, IP, node, QoS, age 같은 운영 판단용 필드가 한 화면에 압축된다.

운영자는 리소스를 선택한 뒤 describe, view, logs, edit, shell, delete 같은 액션을 단축키로 실행할 수 있다.

Pod 화면은 Kubernetes 워크로드의 현재 상태를 표 형태로 압축해 보여준다. 장애 대응 시 어떤 Pod가 어느 노드에서 실행 중인지, 재시작 횟수와 리소스 사용량이 어떤지 빠르게 좁혀 볼 수 있다.

 

Deployment 화면은 rollout 상태를 판단하는 데 필요한 desired/current/up-to-date/available 값을 바로 노출한다.

이는 단일 Pod가 아니라 배포 단위의 수렴 상태를 확인해야 하는 상황에서 유용하다.

Deployment 화면은 desired, current, up-to-date, available 값을 함께 보여주므로 배포가 기대 상태에 도달했는지 확인하기 쉽다.

2. 로그 스트리밍과 장애 분석 흐름의 단축

K9s는 컨테이너 로그 보기, 페이지 이동, 클리어, tail 이동, 필터링 같은 로그 탐색 흐름을 TUI 안에 둔다.

장애 대응에서는 리소스 목록에서 Pod를 찾고, 컨테이너를 고르고, 다시 kubectl logs 명령을 구성하는 시간이 누적된다.

K9s는 리소스 선택 상태와 현재 context/namespace를 알고 있기 때문에 로그 확인까지의 마찰을 줄인다.

 

Logs 화면은 선택한 Pod/컨테이너의 로그를 터미널 UI 내부에서 추적한다. 화면 상단의 단축키 안내가 back, page up/down, clear, top/bottom 같은 탐색 동작을 바로 보여준다.

3. Pulses: 클러스터 상태를 한눈에 보는 운영 대시보드

공식 문서는 Pulses를 여러 리소스 상태를 요약해서 보여주는 뷰로 소개한다.

일반 리소스 테이블이 특정 리소스 종류에 초점을 맞춘다면, Pulses는 노드, 네임스페이스, 워크로드, 이벤트, 컨테이너 상태 등을 한 화면에서 빠르게 훑는 데 맞춰져 있다.

 

운영자는 :pulses 명령으로 진입해 “어느 리소스 그룹에 이상이 있는가?”를 먼저 파악하고, 이후 Pod·Deployment·Event·Log 등 세부 화면으로 내려갈 수 있다.

이 방식은 대규모 클러스터에서 원인 후보를 빠르게 줄이는 데 적합하다.

Pulses 화면은 여러 리소스 카테고리의 상태를 요약해 보여준다. 클러스터의 전반적 건강 상태를 먼저 확인한 뒤 문제 영역으로 드릴다운하는 운영 흐름에 적합하다.

4. XRay: 리소스 관계 그래프 탐색

K9s의 XRay는 특정 리소스와 그 주변 관계를 그래프처럼 탐색하는 기능이다.

Kubernetes 운영에서 장애는 단일 객체에만 고립되지 않는다.

예를 들어 Service, Endpoint, Pod, ReplicaSet, Deployment, ConfigMap, Secret, PVC의 관계를 함께 봐야 하는 경우가 많다.

 

명령 문서에는 :xray RESOURCE [NAMESPACE] 형태의 진입 방식이 정리되어 있다.

이 뷰는 “현재 문제가 발생한 Pod가 어떤 상위 workload와 연결되어 있고, 어떤 Service 또는 Config와 관계가 있는가?”를 확인하는 데 유용하다.

XRay 화면은 리소스 간 관계를 그래프 형태로 드러낸다. 단일 객체 목록만으로는 보이지 않는 소유 관계와 연결 관계를 추적하는 데 적합하다.

5. RBAC 확인과 운영 권한 가시화

K9s는 RBAC 리소스 확인과 reverse lookup 기능을 제공한다.

운영자가 특정 리소스에 대해 어떤 ServiceAccount, Role, RoleBinding, ClusterRoleBinding이 영향을 주는지 확인해야 할 때 kubectl auth can-i만으로는 맥락 파악이 부족할 수 있다.

K9s의 RBAC 뷰는 권한 구성을 탐색 가능한 화면으로 바꿔 준다.

RBAC 화면은 권한 관련 리소스를 표 형태로 보여준다. 운영 환경에서는 K9s 자체의 --readonly 모드와 Kubernetes RBAC를 함께 사용해 조작 권한을 제한하는 것이 안전하다.

6. 플러그인으로 운영 도구 체인 확장

K9s의 플러그인 시스템은 YAML 설정을 통해 외부 명령을 TUI 액션으로 연결한다.

공식 문서는 플러그인 설정 파일 위치와 함께 $RESOURCE_GROUP, $RESOURCE_VERSION, $RESOURCE_NAME, $NAMESPACE, $NAME, $CONTAINER, $KUBECONFIG, $CLUSTER, $CONTEXT 같은 환경 변수를 제공한다고 설명한다.

즉, 현재 선택한 리소스의 맥락을 외부 CLI에 넘겨 자동화할 수 있다.

 

예를 들어 특정 Pod에서 OpenTelemetry trace ID를 추출하는 스크립트, 모델 서버의 /metrics를 조회하는 명령, Bioinformatics workflow job의 provenance를 확인하는 CLI를 플러그인으로 연결할 수 있다.

이 구조는 K9s를 단순한 Kubernetes viewer가 아니라 팀별 운영 콘솔로 확장할 여지를 만든다.

7. 벤치마킹과 포트포워딩 중심의 빠른 성능 점검

공식 Benchmark 문서는 K9s가 Hey를 통합해 service 또는 port-forward 대상에 대한 벤치마킹을 지원한다고 설명한다.

사용자는 port-forward view에서 벤치마크를 실행하고, 결과를 benchmark view에서 확인할 수 있다.

 

이 기능은 엄밀한 부하 테스트 도구라기보다는 “새 배포 후 간단한 smoke 성능 체크”, “서비스가 응답하는지 확인”, “latency가 갑자기 튀는지 감지” 같은 현장형 점검에 가깝다.

의료 AI 추론 API나 agent gateway처럼 운영 중인 HTTP 서비스가 많은 환경에서는 배포 직후 빠른 확인 도구로 사용할 수 있다.

8. 이미지 취약점 스캔: 운영 화면 안에서 보안 신호 확인

go.mod에는 Anchore의 Grype와 Syft 의존성이 포함되어 있으며, README와 데모 링크에도 vulnerability scan 관련 내용이 있다.

K9s는 컨테이너 이미지와 관련된 보안 신호를 운영 화면에 끌어와, “실행 중인 workload가 어떤 이미지 취약점 리스크를 갖는가?”를 확인하는 데 도움을 준다.

다만 이 기능은 보안 스캐너의 결과를 운영 UI에 연결하는 보조 기능으로 보는 편이 적절하다.

프로덕션 보안 체계에서는 CI/CD 단계의 SBOM 생성, admission control, registry scanning, runtime policy와 함께 사용해야 한다.

9. 스킨, Hotkeys, Aliases, Custom Columns

K9s는 개발자 개인의 취향을 위한 테마 도구에 그치지 않고, 운영팀 표준 화면을 만드는 데 필요한 커스터마이징 기능을 제공한다.

공식 문서에는 skins, hotkeys, aliases, custom columns, context별 설정, XDG 기반 설정 경로가 정리되어 있다.

Custom Columns는 특히 CRD 운영에 중요하다.

Bioinformatics workflow operator, ML serving operator, agent orchestration CRD처럼 기본 Kubernetes 컬럼만으로 상태를 파악하기 어려운 리소스에 대해 팀이 원하는 JSON path 기반 컬럼을 붙일 수 있다.

10. Readonly 모드와 RBAC 기반 안전 경계

K9s는 --readonly 모드를 제공해 클러스터 수정 명령을 비활성화할 수 있다.

하지만 실제 권한 경계는 Kubernetes RBAC가 최종적으로 결정한다.

운영 환경에서는 K9s 자체 설정, kubeconfig context, namespace 범위, Role/ClusterRole 권한을 함께 설계해야 한다.

이 점은 K9s를 관찰 도구로만 쓸 것인지, 실제 조작 도구로도 쓸 것인지에 따라 중요해진다.

특히 의료·생명과학·규제 산업에서는 “조회 가능한 화면”과 “변경 가능한 화면”을 명확히 분리하는 방식이 안전하다.


Tech Stack

영역 기술/버전 역할
주 언어 Go 단일 바이너리 형태의 CLI/TUI 애플리케이션 구현
Go 버전 신호 README: Go v1.23.x 이상, go.mod: go 1.25.8 소스 빌드 기준. 실제 빌드 시 현재 README와 go.mod를 함께 확인하는 것이 안전함
CLI Framework github.com/spf13/cobra v1.10.2 k9s, k9s info, k9s version, CLI flags, completion 구성
Terminal UI github.com/derailed/tcell/v2 v2.3.1-rc.4, github.com/derailed/tview v0.8.5 터미널 UI 렌더링, 키 입력 처리, 테이블/패널 화면 구성
Kubernetes Client k8s.io/client-go v0.35.3, k8s.io/kubectl v0.35.1, k8s.io/api v0.35.3, k8s.io/apimachinery v0.35.3 kubeconfig/context 기반 API 호출, 리소스 조회·조작
Metrics k8s.io/metrics v0.35.3 Pod/Node 리소스 사용량 표시
Helm helm.sh/helm/v3 v3.20.2 Helm 관련 리소스 탐색
Vulnerability/SBOM github.com/anchore/grype v0.110.0, github.com/anchore/syft v1.42.3 이미지 취약점 스캔 및 SBOM 계열 기능 연계
Benchmark github.com/rakyll/hey v0.1.5 서비스·포트포워드 대상 HTTP 벤치마킹
Query/Filtering github.com/itchyny/gojq v0.12.18, github.com/sahilm/fuzzy v0.1.1 JSON 기반 표현식, fuzzy 탐색 지원
Filesystem Watch github.com/fsnotify/fsnotify v1.9.0 설정·스킨·custom view 변경 감지
Config Path github.com/adrg/xdg v0.5.3 XDG 기반 config/data/state 경로 처리

코드 구조상 핵심 디렉터리는 다음처럼 나뉜다.

k9s/
├── cmd/                 # Cobra 기반 CLI entry, flags, info/version command
├── internal/client/     # kubeconfig, REST config, Kubernetes client helpers
├── internal/dao/        # 리소스별 Kubernetes API 조작 계층
├── internal/model/      # table/tree/log/pulse/cluster info 등 UI 데이터 모델
├── internal/view/       # tview/tcell 기반 화면, page stack, resource views
├── internal/watch/      # watch factory, forwarder 관리
├── internal/config/     # config, context, skin, hotkey, plugin 설정
├── internal/health/     # health/pulse 관련 판단
├── internal/render/     # 화면 렌더링 보조
├── internal/vul/        # 이미지 취약점 스캔 관련 코드
└── plugins/, skins/     # 기본 확장/테마 자산

Architecture

위 다이어그램은 공식 프로젝트가 제공한 아키텍처 이미지가 아니라, README·공식 문서·go.mod·cmd/root.go·internal/{client,model,view,watch} 구조를 바탕으로 재구성한 분석용 도식이다.

 

K9s의 아키텍처는 “Kubernetes API를 호출하는 CLI”라기보다, “watch 기반 상태 스트림을 터미널 UI 모델로 변환하고, 사용자의 키 입력을 다시 Kubernetes 액션으로 라우팅하는 event-driven TUI”로 보는 편이 정확하다.

  1. 사용자는 터미널에서 k9s를 실행하고, context/namespace/view/readonly 같은 CLI 플래그 또는 실행 중 단축키를 입력한다.
  2. main.gocmd.Execute()를 호출하고, cmd/root.go는 Cobra command, Kubernetes flags, K9s config를 조합한다.
  3. 설정 로딩 단계에서는 XDG 경로의 config.yaml, context별 설정, skin, hotkey, custom view, plugin 설정이 반영된다.
  4. Kubernetes 연결은 kubeconfig/context/namespace를 기반으로 초기화되며, client-go/kubectl 계열 라이브러리를 통해 API server와 통신한다.
  5. internal/watch 계층은 리소스 변경을 감시하고, 앱은 refresh loop를 통해 클러스터 상태와 포트포워드 상태를 갱신한다.
  6. internal/model은 리소스 데이터를 테이블·트리·로그·Pulses·XRay 같은 UI 친화적 모델로 바꾼다.
  7. internal/view는 tview/tcell 기반으로 화면을 렌더링하고, 사용자의 액션을 리소스별 command로 되돌려 보낸다.
  8. plugin, skin, custom column, image scan, benchmark는 기본 흐름 주변에 붙는 확장 계층이다.

핵심 설계 포인트

K9s가 빠르게 느껴지는 이유는 단순히 kubectl 명령을 감싼 래퍼이기 때문이 아니다.

애플리케이션 내부에서 현재 context, namespace, 선택 리소스, view stack, config, watch factory, cluster info를 상태로 들고 있기 때문에, 사용자가 리소스 간 이동과 액션 실행을 반복할 때 매번 명령줄 인자를 재구성하지 않아도 된다.

 

또한 K9s는 운영자의 화면을 “리소스 목록”에만 제한하지 않는다.

Logs, Pulses, XRay, RBAC, Benchmarks, PortForward, Helm, Custom Columns처럼 운영자가 실제로 필요로 하는 관찰 단위를 별도 view로 모델링한다.

이 점이 단순 kubectl alias 모음과 K9s의 차이다.

안전성 관점의 구조적 특징

K9s는 강력한 조작 도구이므로 권한 설계가 중요하다. --readonly는 K9s UI에서 수정 명령을 제한하는 장치지만, 클러스터 최종 권한은 Kubernetes RBAC가 결정한다.

따라서 운영 환경에서는 다음 세 가지를 함께 적용하는 것이 바람직하다.

1. 조회 전용 kubeconfig/context 제공
2. namespace 또는 team 단위 RBAC 최소 권한 적용
3. K9s 실행 시 --readonly 또는 readOnly 설정 사용

Usage & Setup

1. 빠른 설치

대표 설치 방식은 다음과 같다. 실제 운영 환경에서는 OS, package manager, release artifact 정책에 맞는 방식을 선택한다.

# macOS / Linux Homebrew
brew install derailed/k9s/k9s

# Windows Winget
winget install k9s

# Windows Scoop
scoop install k9s

# Windows Chocolatey
choco install k9s

# Go install: 개발 버전 기준이 될 수 있음
go install github.com/derailed/k9s@latest

 

Ubuntu 환경에서는 최신 release의 .deb 패키지를 받아 설치하는 예시가 README에 제시되어 있다.

wget https://github.com/derailed/k9s/releases/latest/download/k9s_linux_amd64.deb
sudo apt install ./k9s_linux_amd64.deb
rm k9s_linux_amd64.deb

2. 소스 빌드

README는 소스 빌드에 Go v1.23.x 이상을 요구한다고 설명한다. go.mod의 Go directive와 README의 빌드 요건이 다를 수 있으므로, 재현 가능한 빌드가 필요한 경우 현재 release tag 기준으로 확인하는 것이 안전하다.

git clone https://github.com/derailed/k9s.git
cd k9s
make build
./execs/k9s

3. Docker로 실행

kubeconfig를 컨테이너에 마운트해 실행할 수 있다.

docker run --rm -it -v $KUBECONFIG:/root/.kube/config derailed/k9s

# 기본 kubeconfig 경로 사용
docker run --rm -it -v ~/.kube/config:/root/.kube/config derailed/k9s

4. 기본 실행 명령

# 버전 확인
k9s version

# config, logs, screen dumps, benchmark 경로 확인
k9s info

# 특정 namespace에서 시작
k9s -n mycoolns

# 특정 kubeconfig context에서 시작
k9s --context coolCtx

# 수정 명령을 비활성화한 readonly 모드
k9s --readonly

5. 실행 후 자주 쓰는 TUI 명령

?                         도움말
:pod                      Pod view로 이동
:deploy                   Deployment view로 이동
:svc                      Service view로 이동
:pulses                   Pulses 대시보드
:xray RESOURCE [NS]       XRay 리소스 관계 그래프
/                         현재 view 필터
-f                        fuzzy find
l                         로그 보기
d                         describe
v                         view YAML/상세 보기
e                         edit
ctrl-d                    delete
ctrl-k                    kill

실행 결과는 아래처럼 리소스 테이블 중심의 화면으로 나타난다.

이 화면에서 키보드 기반으로 view 전환과 액션 실행이 이어진다.

설치 후 k9s를 실행하면 현재 context와 namespace를 기준으로 리소스 테이블이 표시된다. 화면 상단에는 context, cluster, user, 버전, CPU/Memory 상태, 오른쪽에는 단축키 힌트가 표시된다.

6. Preflight 체크

운영 환경에서 처음 도입할 때는 다음 항목을 확인한다.

# 256 color terminal 권장
export TERM=xterm-256color

# edit 기능을 쓸 경우 editor 설정
export KUBE_EDITOR=vim

 

또한 K9s README는 최근 Kubernetes 버전, 예를 들어 1.28 이상을 선호한다고 안내한다.

오래된 클러스터에서는 K9s 버전과 Kubernetes client compatibility를 함께 확인해야 한다.


Personal Insights

의료 AI 운영 관점

의료 AI 시스템은 모델 정확도만으로 운영되지 않는다.

실제 병원·연구기관 환경에서는 inference service, feature service, PACS 연동 API, audit log collector, model monitoring job, GPU node pool, secret/config 관리가 모두 Kubernetes 리소스로 분산된다.

K9s는 이런 리소스들을 한 터미널에서 관찰하고, 장애 순간에 Pod 상태·로그·Deployment 수렴 상태·Service 연결 상태를 빠르게 확인하는 데 유용하다.

 

다만 의료 AI 환경에서는 edit, delete, restart, port-forward 같은 기능이 감사·보안 리스크가 될 수 있다.

K9s를 운영 콘솔로 도입한다면 조회 전용 계정, namespace 제한, --readonly, screen dump/log 보존, bastion 접근 제어를 함께 설계해야 한다.

특히 PHI/PII가 로그에 노출될 수 있는 inference pipeline에서는 로그 뷰 접근권한을 별도로 제한하는 것이 필요하다.

Bioinformatics / HPC-on-Kubernetes 관점

Bioinformatics 파이프라인은 대량의 batch job, long-running workflow, PVC, object storage gateway, node affinity, GPU/CPU/memory quota와 자주 얽힌다.

K9s는 Job/CronJob/Pod/PVC/Node/Event를 빠르게 넘나들 수 있어, “왜 이 샘플 처리 job이 pending인가?”, “어느 노드에서 OOMKilled가 반복되는가?”, “PVC attach가 막혔는가?” 같은 질문에 대한 첫 번째 탐색 도구가 될 수 있다.

 

CRD 기반 workflow operator를 사용하는 팀이라면 Custom Columns가 특히 중요하다.

기본 Kubernetes 컬럼만으로는 sample ID, workflow phase, retry count, output path, reference genome version 같은 도메인 필드를 확인하기 어렵다.

K9s의 views.yaml을 활용하면 실험실·분석팀이 실제로 보는 상태 컬럼을 TUI에 반영할 수 있다.

Autonomous Agent 개발·운영 관점

Autonomous Agent 시스템은 단일 서버보다 더 복잡한 운영 표면을 갖는다.

LLM gateway, planner, tool executor, memory/vector DB, sandbox runner, queue worker, evaluator, telemetry collector가 서로 다른 Deployment와 Service로 배포되는 경우가 많다.

K9s의 XRay는 이들 컴포넌트의 관계를 파악하는 데 도움이 되고, Logs/Pulses는 agent loop 장애를 빠르게 감지하는 데 유용하다.

 

플러그인 시스템은 agent 운영에서 특히 강력하다.

예를 들어 선택한 Pod에 대해 최근 trace ID를 조회하고, Langfuse/OpenTelemetry/Grafana URL을 열거나, vector DB collection 상태를 확인하거나, queue lag를 조회하는 명령을 K9s 단축키로 묶을 수 있다.

즉, K9s는 agent platform의 “human-in-the-loop 운영 터미널”로 확장될 수 있다.

도입 시 주의할 점

K9s는 GitOps controller나 policy engine이 아니다.

Argo CD, Flux, admission controller, image policy, CI/CD scanner를 대체하지 않는다.

오히려 K9s는 사람이 클러스터를 관찰하고 긴급 조치를 수행하는 도구에 가깝다.

따라서 프로덕션에서는 “관찰은 넓게, 조작은 좁게”라는 원칙을 적용해야 한다.

권장 도입 방식은 다음과 같다.

1. 개발/스테이징: 조작 기능까지 허용해 생산성 향상
2. 프로덕션 일반 사용자: readonly + namespace 제한
3. SRE/Platform 팀: break-glass 계정 분리, audit log와 접근 승인 체계 적용
4. 의료·규제 환경: 로그 접근권한, screen dump, kubeconfig 배포 경로까지 감사 대상에 포함

결론

K9s는 Kubernetes 운영자에게 필요한 “관찰 → 진단 → 조작 → 확인” 루프를 터미널 안에서 짧게 만드는 프로젝트다.

단순한 prettier kubectl이 아니라, watch 기반 상태 갱신, 모델화된 리소스 view, 로그·Pulses·XRay·RBAC·benchmark·image scan·plugin을 결합한 운영 콘솔에 가깝다.

 

의료 AI, Bioinformatics, Autonomous Agent처럼 복잡한 Kubernetes 기반 시스템에서는 K9s의 장점이 더 커진다.

다만 그만큼 조작 권한과 로그 접근권한이 민감해지므로, readonly 모드와 RBAC, 감사 체계, GitOps 기반 변경 관리를 함께 설계해야 한다.


참고 자료