For the complete documentation index, see llms.txt. This page is also available as Markdown.

Kubeconfig

Kubeconfig là file cấu hình cho phép công cụ kubectl xác thực và kết nối đến Kubernetes Cluster của bạn. Mỗi file kubeconfig chứa thông tin về cluster (địa chỉ API server), thông tin xác thực (client certificate), và ngữ cảnh (context) xác định cluster nào đang được sử dụng.

Trên VKS, file kubeconfig sử dụng cơ chế Client Certificate để xác thực. Bạn có thể chủ động chọn thời hạn hiệu lực của certificate khi tải xuống, giúp kiểm soát bảo mật tốt hơn.

Lưu ý cho account IAM-user:

Trước khi thao tác với kubeconfig, account IAM-user cần được cấp đầy đủ các quyền dưới đây (admin nên cấp một lần trước khi sử dụng):

Quyền
Mục đích
Dùng tại bước

RequestKubeconfig

Request cấp kubeconfig

Tải xuống Kubeconfig

AcknowledgeKubeConfigWarningRenew

Xác nhận ("đã hiểu") thông báo autorenew kubeconfig từ hệ thống

Gia hạn (Renew) Certificate — Tự động renew


Tải xuống Kubeconfig

Account IAM-user cần quyền RequestKubeconfig — xem Lưu ý cho account IAM-user ở đầu trang.

Bước 1: Truy cập vào https://vks.console.greennode.ai/overview

Bước 2: Tại màn hình Overview, chọn menu Kubernetes Cluster.

Bước 3: Tại Cluster cần lấy kubeconfig, chọn biểu tượng Action và chọn Download Config File.

Bước 4: Hệ thống hiển thị popup xác nhận. Tại đây, bạn chọn thời hạn hiệu lực của certificate trong kubeconfig:

Thời hạn
Mô tả

30 ngày

Phù hợp cho môi trường staging, testing hoặc truy cập tạm thời

90 ngày

Phù hợp cho môi trường production với chu kỳ rotate định kỳ

365 ngày

Phù hợp cho các trường hợp cần kubeconfig dài hạn, cần quản lý cẩn thận

Bước 5: Chọn Confirm để tải xuống. File config sẽ được lưu về máy của bạn.


Cấu hình kubectl sử dụng Kubeconfig

Sau khi tải xuống file kubeconfig, bạn cần đặt file vào đúng vị trí để kubectl nhận diện.

Bước 1: Tạo thư mục .kube nếu chưa có:

Bước 2: Di chuyển file kubeconfig vừa tải về vào thư mục .kube và đặt tên là config:

Bước 3: Kiểm tra kết nối đến Cluster:

Nếu kết nối thành công, bạn sẽ thấy danh sách các node trong Cluster của mình.

Sử dụng nhiều Cluster cùng lúc:

Nếu bạn cần quản lý nhiều Cluster, có thể đặt file kubeconfig ở vị trí khác và chỉ định đường dẫn khi chạy lệnh:

Hoặc thiết lập biến môi trường:


Quản lý thời hạn Certificate

Xem thời hạn certificate hiện tại

Cách 1: Xem trên Portal

Khi nhấp Download Config File tại màn hình Kubernetes Cluster, hệ thống hiển thị popup thông tin kubeconfig, trong đó bao gồm thời hạn hiệu lực của certificate. Bạn có thể xem ngày hết hạn trực tiếp tại đây trước khi tải xuống.

Cách 2: Kiểm tra bằng lệnh

Để kiểm tra thời hạn của certificate trong file kubeconfig đang sử dụng, chạy lệnh sau:

Kết quả trả về sẽ hiển thị notBefore (ngày bắt đầu) và notAfter (ngày hết hạn) của certificate.

Gia hạn (Renew) Certificate

Khi certificate sắp hết hạn (dưới 7 ngày), hệ thống VKS sẽ gửi thông báo đến bạn. Lúc này bạn có thể:

  • Tự động renew: Hệ thống tự động gia hạn certificate nếu đủ điều kiện. Bạn sẽ nhận được thông báo xác nhận khi quá trình hoàn tất. &#xNAN;Account IAM-user cần quyền AcknowledgeKubeConfigWarningRenew để xác nhận thông báo autorenew — xem Lưu ý cho account IAM-user ở đầu trang.

  • Thủ công renew: Nếu hệ thống không thể tự động renew, bạn sẽ thấy nút Renew trong thông báo. Chọn Renew để hệ thống cấp lại certificate mới.

Chú ý:

Sau khi renew, bạn cần tải xuống lại file kubeconfig mới và thay thế file cũ. Certificate vẫn sẽ hoạt động cho đến khi hết hạn sau khi đã renew.

Tải xuống lại Kubeconfig mới

Thực hiện lại các bước trong mục Tải xuống Kubeconfig để lấy file kubeconfig mới với certificate còn hiệu lực.


Bảo mật Kubeconfig

Dưới đây là các khuyến nghị bảo mật khi sử dụng kubeconfig trên VKS:

  • Không commit file kubeconfig lên source code repository (Git, GitLab...). Thêm ~/.kube/config vào .gitignore của dự án.

  • Giới hạn quyền truy cập file: Đảm bảo chỉ user hiện tại có thể đọc file kubeconfig:

  • Chọn thời hạn certificate phù hợp: Không nên sử dụng certificate 365 ngày cho tất cả trường hợp. Ưu tiên sử dụng 30 hoặc 90 ngày và thực hiện rotate định kỳ.


Tạo Kubeconfig Read-only

Kubeconfig mặc định tải từ VKS cấp quyền cluster-admin — toàn quyền trên cluster. Nếu bạn cần cấp quyền cho người dùng khác (developer, auditor...) chỉ với quyền xem mà không có quyền chỉnh sửa, hãy tạo một kubeconfig riêng với quyền view.

Hướng dẫn dưới đây tạo kubeconfig read-only cho user readonly-user. Bạn có thể thay tên này theo nhu cầu thực tế.

Bước 1 — Tạo private key và CSR

Bước 2 — Tạo CertificateSigningRequest trong Kubernetes

Bước 2a — Encode CSR sang base64

Bước 2b — Tạo file YAML

Bước 2c — Apply file

Bước 3 — Approve CSR

Bước 4 — Lấy certificate đã được ký

Bước 5 — Bind RBAC cho user

Bước 6 — Tạo file kubeconfig

Bước 6a — Lấy thông tin cluster

Bước 6b — Tạo file kubeconfig

User chỉ cần 1 file duy nhất là readonly-kubeconfig.yaml.

Bước 7 — Xóa file tạm

Bước 8 — Kiểm tra


Thu hồi quyền truy cập (Revoke)

Xóa ClusterRoleBinding — bắt buộc

Xóa ClusterRoleBinding → user lập tức mất quyền truy cập, dù certificate vẫn còn hạn.

Xóa CSR — tùy chọn (dọn dẹp)

CSR chỉ là object lưu lịch sử quá trình ký certificate. Xóa CSR không ảnh hưởng đến certificate đã được ký — chỉ để tránh tồn đọng rác trong cluster.

Lưu ý quan trọng:

Kubernetes không có cơ chế revoke certificate. Nếu user vẫn còn giữ file kubeconfig, certificate vẫn valid đến hết thời hạn. Xóa ClusterRoleBinding là cách duy nhất để chặn truy cập ngay lập tức.

Hành động
Xóa ClusterRoleBinding
Xóa CSR

User mất quyền ngay?

Không

Mục đích

Revoke quyền

Dọn dẹp

Bắt buộc?

Bắt buộc

Tùy chọn

Last updated