Helm là công cụ quản lý gói tiêu chuẩn cho Kubernetes, giúp tự động hóa việc triển khai, cấu hình và duy trì các ứng dụng trên cụm. Thay vì viết và duy trì hàng chục tệp YAML thủ công, người vận hành có thể sử dụng các chart đã được kiểm thử — tương tự như package manager trong hệ điều hành — để cài đặt nhanh chóng, nâng cấp an toàn và khôi phục trạng thái khi cần.
Xem cấu hình mặc định của một chart
Lệnh helm show values hiển thị toàn bộ tham số cấu hình có thể tùy chỉnh cho một chart cụ thể — hữu ích để hiểu cách tuỳ biến hành vi ứng dụng trước khi triển khai.
helm show values bitnami/redis --version 17.15.2 > redis-config.yaml
Câu lệnh trên tải phiên bản xác định của chart Redis từ kho Bitnami và xuất nội dung cấu hình vào tệp redis-config.yaml. Các tuỳ chọn phổ biến bao gồm:
--repo: chỉ định URL kho lưu trữ ngoài (ví dụ:https://charts.bitnami.com/bitnami)--version: khóa vào phiên bản cụ thể (vd:17.15.2hoặc>17.0.0)--jsonpath: lọc đầu ra theo biểu thức JSONPath (ví dụ:{.service.port})
Danh sách các phát hành đang hoạt động
Để liệt kê tất cả các release đã cài đặt trong cụm, dùng lệnh:
helm list --all-namespaces
Kết quả trả về tên release, không gian tên, phiên bản chart, trạng thái triển khai và phiên bản phần mềm ứng dụng.
Gỡ bỏ hoàn toàn một ứng dụng
Sử dụng helm uninstall để xoá sạch tài nguyên liên quan đến một release — bao gồm Deployment, Service, ConfigMap, và các đối tượng phụ thuộc khác.
helm uninstall redis-cluster --namespace trs
Lưu ý: Không cần xóa thủ công các tài nguyên còn sót lại nếu chart được thiết kế đúng (có sử dụng ownerReferences và tuân thủ Helm best practices).
Cập nhật ứng dụng với cấu hình mới
Lệnh helm upgrade cho phép áp dụng thay đổi cấu hình hoặc nâng cấp phiên bản chart mà không gây gián đoạn dịch vụ (nếu ứng dụng hỗ trợ rolling update).
Ví dụ: Triển khai lại nginx với cấu hình mở rộng (thêm ingress, bật metrics, điều chỉnh replica):
helm upgrade nginx-app bitnami/nginx \
--namespace trs \
--version 15.2.0 \
--values ./charts/nginx-prod-values.yaml \
--set service.type=LoadBalancer \
--set metrics.enabled=true
Để kiểm tra cấu hình hiện tại của một release đã chạy, kết hợp với helm get values:
helm get values nginx-app -n trs | yq '.ingress.enabled'
(Yêu cầu cài đặt yq để phân tích YAML trực tiếp trong terminal)