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):
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:
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

Lưu ý về bảo mật:
File kubeconfig cấp quyền cluster-admin cho người sở hữu. Không chia sẻ file này với người không có thẩm quyền.
Nếu cần thu hồi certificate trước thời hạn, vui lòng liên hệ đội ngũ hỗ trợ VKS để được xử lý.
Nếu file kubeconfig bị lộ, hãy liên hệ đội ngũ hỗ trợ VKS để thực hiện xử lý kịp thời.
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/configvào.gitignorecủ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
File .key (private key) đã được nhúng vào readonly-kubeconfig.yaml dưới dạng client-key-data. Xóa file .key gốc để tránh rò rỉ private key.
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.
Khuyến nghị dành cho khách hàng:
Không nên xóa ClusterRoleBinding của cluster trừ khi bạn chắc chắn muốn thu hồi quyền truy cập vĩnh viễn.
Nếu bạn lỡ xóa ClusterRoleBinding và không thể kết nối đến cluster, vui lòng liên hệ đội ngũ hỗ trợ VKS để được hỗ trợ tạo lại kubeconfig mới.
User mất quyền ngay?
Có
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

