k10s: Giao diện dòng lệnh Kubernetes có thể click chuột, viết bằng Go và Bubble Tea

08 tháng 10, 2026·9 phút đọc

k10s là một TUI (giao diện terminal) cho Kubernetes, cho phép người dùng thao tác bằng cả chuột lẫn bàn phím thay vì chỉ gõ lệnh. Dự án viết bằng Go với thư viện Bubble Tea, tích hợp AI hiểu ngữ cảnh cluster và có thể tự cập nhật. Đây là công cụ hướng tới những người mới làm quen với Kubernetes, lấy cảm hứng từ k9s nhưng theo đuổi triết lý đơn giản hơn.

k10s: Giao diện dòng lệnh Kubernetes có thể click chuột, viết bằng Go và Bubble Tea

k10s: Giao diện dòng lệnh Kubernetes có thể click chuột, viết bằng Go và Bubble Tea

Trạng thái dự ánTrạng thái dự án

k10s là một giao diện dòng lệnh (TUI) dành cho Kubernetes, được thiết kế để có thể thao tác bằng chuột. Dự án viết bằng Go trên nền thư viện Bubble Tea, cho phép người dùng click chọn, tìm kiếm tức thì, đổi giao diện và sử dụng trợ lý AI đã nắm sẵn ngữ cảnh cluster. Đây là công cụ dành cho những ai muốn quản lý Kubernetes mà không cần ghi nhớ hàng loạt phím tắt.

Nếu bạn từng làm việc với Kubernetes, chắc hẳn bạn biết k9s — công cụ TUI huyền thoại giúp cả một thế hệ kỹ sư bỏ thói quen gõ kubectl get pods suốt ngày. k10s ra đời với tinh thần tôn trọng k9s, nhưng chọn một hướng đi khác: ưu tiên khả năng khám phá trực quan thay vì yêu cầu người dùng học thuộc lệnh.

Triết lý thiết kế: không giấu gì sau các phím tắt

Điểm khác biệt cốt lõi của k10s nằm ở cách tiếp cận. Theo tác giả, một dashboard cluster là thứ bạn mở hai mươi lần mỗi ngày, thường là khi có sự cố đang cháy. Hai yếu tố quan trọng nhất là tốc độ khởi động và mức độ ghi nhớ cần thiết.

  • Không có hành động nào bị ẩn sau phím tắt phải học thuộc. Các hành động áp dụng cho đối tượng bạn đang chọn được liệt kê ngay trong một khung riêng. Bạn có thể click hoặc nhấn phím chữ cái tương ứng.
  • Chuột hoạt động thực sự. Click vào một dòng, một khung, nút zoom, menu chọn namespace, hay cuộn bảng — mọi nút viền đều là nút thật.
  • Một ô tìm kiếm duy nhất cho toàn bộ cluster. Tổ hợp ctrl+p tìm kiếm cả loại tài nguyên lẫn đối tượng cùng lúc, không cần học cú pháp tiền tố.
  • Khởi động tức thì. Khi khởi động, k10s không đăng ký watch nào và không chờ đợi gì cả. Các informer được khởi tạo lười (lazy), theo từng loại tài nguyên, chỉ khi bạn thực sự xem chúng. Mở Pods thì chỉ watch pods, chứ không watch toàn bộ Secret và Event bạn sở hữu.

AI hiểu ngữ cảnh cluster của bạn

Nền tảng hỗ trợNền tảng hỗ trợ

Điểm nhấn đáng chú ý nhất của k10s là khả năng tích hợp AI ngay trong giao diện. Nhấn ctrl+a và bạn có thể đặt câu hỏi bằng ngôn ngữ tự nhiên.

Ngữ cảnh hiện tại — namespace, loại tài nguyên và đối tượng đang chọn — được tự động đưa vào prompt. Vì vậy câu hỏi "tại sao pod này không khỏe?" sẽ thực sự ám chỉ đúng pod đó.

k10s hỗ trợ API tương thích OpenAI (bao gồm Groq, Together, OpenRouter, vLLM, Ollama, LM Studio và mọi cổng gateway cục bộ) lẫn Anthropic. Người dùng tự mang API key của mình. Câu trả lời mở ra dưới dạng văn bản thông thường, có thể cuộn, zoom và đóng lại.

Điểm quan trọng về quyền riêng tư: không có dữ liệu cluster nào rời khỏi máy bạn trừ khi bạn nhấn Enter trong chế độ AI. Lệnh gọi mạng duy nhất mà k10s tự thực hiện là kiểm tra cập nhật mỗi ngày một lần, chỉ hỏi GitHub số phiên bản và không gửi gì khác.

Số phụ thuộcSố phụ thuộc

Cài đặt và dùng thử trong 30 giây

k10s cung cấp sẵn một backend demo ngoại tuyến — một cluster giả lập thực tế để bạn click thử, bao gồm cả một pod đang ở trạng thái CrashLoopBackOff để bạn nghịch ngợm. Chế độ này là tùy chọn (opt-in), bởi dữ liệu mẫu không bao giờ nên bị nhầm với máy thật của bạn.

git clone https://github.com/p10node/k10s && cd k10s
go run . demo     # cluster mẫu - dữ liệu giả, được ghi nhãn rõ ràng
go run .          # cluster thật của bạn, hoặc "No cluster" nếu chưa có

Khi chế độ demo đang bật, phần tiêu đề luôn mang nhãn DEMO, nên không khung hình nào có thể bị nhầm là cluster thật. Để thoát, bạn chỉ cần chọn một context khác — không có lệnh thoát riêng.

Với bản phát hành chính thức, bạn có thể cài bằng:

curl -fsSL https://p10node.com/k10s/install.sh | sh

Script hỗ trợ macOS và Linux, kiến trúc amd64 và arm64, tự chọn binary phù hợp, xác minh mã băm SHA-256 với manifest phát hành rồi cài vào /usr/local/bin. Ngoài ra còn có binary tĩnh dựng sẵn cho Windows/amd64 trên trang phát hành.

Bộ công cụ "day-2" trên từng phím đơn

k10s gom 30 loại tài nguyên thành các nhóm theo cách bạn thường tư duy: Workloads, Network, Config, Storage, RBAC, Cluster và Custom Resources. Các CRD của bạn được tự động phát hiện, không cần cấu hình.

Một số thao tác quan trọng chỉ cần một phím:

  • d — xem output kubectl describe thật, lấy trực tiếp từ API
  • y — xem YAML của đối tượng đang sống
  • l — xem log theo dõi liên tục (-f), dòng mới nhất ở dưới, cuộn ngược 500 dòng
  • s — mở phiên shell exec tương tác thật, nhận biết thay đổi kích thước cửa sổ
  • p — chuyển tiếp cổng (port-forward) SPDY thật, bật/tắt ngay trong khung
  • m — xem metrics pod/node theo từng container, kèm so sánh requests và limits
  • e / r / c — chỉnh sửa, khởi động lại rollout, thay đổi số lượng bản sao
  • o / u — cordon/uncordon và drain, chỉ xuất hiện khi chọn Nodes
  • D — xóa, kèm hộp thoại xác nhận màu đỏ vì hành động này nên đáng sợ

Bạn cũng có thể thêm các hành động tùy chỉnh theo định dạng plugins.yaml quen thuộc của k9s. Chúng xuất hiện bên cạnh các hành động mặc định và nhận được đối tượng, namespace, context cùng giá trị các cột đang chọn.

Giao diện và trải nghiệm

k10s đi kèm tám theme có sẵn: tokyo-night (mặc định), catppuccin-mocha, dracula, nord, gruvbox-dark, solarized-dark, solarized-light và matrix. Nhấn T để chuyển vòng, hoặc /theme để mở bảng chọn áp dụng theme ngay khi bạn di chuyển qua danh sách.

Bạn cũng có thể thả một bảng màu YAML vào ~/.k10s/themes, khởi động lại và nó sẽ xuất hiện trong cùng bảng chọn — không cần build lại.

Một vài chi tiết nhỏ nhưng đáng giá mà tác giả chú ý:

  • Chế độ copy (ctrl+s) giải phóng chuột để terminal có thể kéo-chọn và sao chép — điều mà mọi TUI chiếm chuột đều làm hỏng.
  • Trạng thái đang tải trung thực thay vì báo "không tìm thấy tài nguyên" trong lúc watch còn đang đồng bộ.
  • Bộ chọn namespace và context không bao giờ bắt bạn gõ tên.
  • Không có màn hình thiết lập. Lần chạy đầu tiên mở thẳng cluster; mọi cài đặt đều có giá trị mặc định hợp lý.
  • Prompt có thể mở rộng (ctrl+z) vì một dòng kubectl dài hay câu hỏi AI không vừa một ô một hàng cuộn ngang.

k10s so với k9s

Tác giả thẳng thắn thừa nhận: k10s tồn tại là nhờ k9s. k9s trưởng thành, có phạm vi khổng lồ, hệ sinh thái plugin phong phú và nhiều năm chạy thực tế. k10s trẻ hơn và cố tình hẹp hơn.

k9sk10s
Nhập liệu chínhưu tiên bàn phím, điều khiển bằng lệnhchuột và bàn phím ngang nhau
Khám phábạn học các lệnhhành động cho đối tượng đang chọn hiện sẵn trên màn hình
Tìm kiếmlọc theo từng view, dùng : để nhảy giữa các viewmột ô duy nhất (ctrl+p) trên cả loại lẫn đối tượng
AIthuộc về plugintích hợp sẵn, có ngữ cảnh cluster
Phạm virất lớn, hệ sinh thái pluginnhỏ, quan điểm rõ ràng, tương thích plugin lệnh cốt lõi
Nâng cấptrình quản lý gói của bạnk10s update, tự thay thế chính mình

Tác giả khuyên dùng k9s nếu bạn cần bề mặt tính năng lớn nhất và hệ sinh thái plugin đầy đủ. Dùng k10s nếu bạn muốn đưa cho một đồng nghiệp chưa từng mở TUI và để họ tự tìm ra log trong mười giây.

Cơ chế tự cập nhật

Cập nhậtCập nhật

Lệnh /update hoặc k10s update sẽ cài bản phát hành mới nhất đè lên binary đang chạy. Quá trình này xác minh checksum, mang tính nguyên tử (atomic) và sẽ hỏi bạn có muốn khởi động lại vào bản mới hay không.

Lưu ý về bảo mật và trạng thái dự án

Có một điểm cần lưu ý: API key của AI được lưu dưới dạng văn bản thuần trong file ~/.k10s/config.yaml (quyền 0600) và được che trong giao diện. Nếu điều này không phù hợp với môi trường của bạn, hãy để trống và chế độ AI sẽ đơn giản là tắt.

Về trạng thái dự án, tác giả chia sẻ khá trung thực:

Mọi đường dẫn trực tiếp (live path) đều được triển khai dựa trên API thật của client-go/kubectl và được bao phủ bởi test với fake clientset, nhưng cây mã này chưa được chính tác giả kiểm thử thực tế trên cluster production. Hãy thử trên kind trước.

Các giới hạn đã biết được liệt kê trong roadmap.md thay vì bị chôn đi. Một số hướng phát triển tiếp theo gồm: thêm nhiều loại tài nguyên, sắp xếp cột bằng click, xóa hàng loạt nhiều lựa chọn, grep trong luồng log và các view đã lưu.

Điểm đáng chú ý cho người dùng Việt Nam

Với các đội DevOps và kỹ sư backend Việt Nam đang vận hành Kubernetes — đặc biệt trong các startup cần onboarding nhanh cho thành viên mới — k10s là lựa chọn đáng thử. Việc hỗ trợ API tương thích OpenAI và Ollama có nghĩa bạn có thể chạy model cục bộ hoàn toàn, tránh gửi dữ liệu cluster ra bên ngoài — một yếu tố quan trọng với các doanh nghiệp có yêu cầu tuân thủ nghiêm ngặt.

Dự án phát hành theo giấy phép Apache-2.0, cùng giấy phép với Kubernetes, Helm và k9s — bạn có thể dùng, fork và triển khai nội bộ trong công ty mình.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗