← Về danh sách bài học
Bài 19/25
📦 Bài 19: Helm - Package Manager
🎯 Sau bài học này, bạn sẽ:
- Hiểu Helm là gì
- Cài đặt và quản lý charts
- Customize với values
- Tạo chart riêng
1. Helm Là Gì?
Helm là package manager cho Kubernetes (như apt, npm). Đóng gói apps thành Charts.
💡 Lợi ích:
• Không viết YAML lặp đi lặp lại
• Versioning và rollback
• Share qua repositories
• Parameterize với values
• Không viết YAML lặp đi lặp lại
• Versioning và rollback
• Share qua repositories
• Parameterize với values
2. Cài Đặt Helm
# macOS
brew install helm
# Linux
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
# Verify
helm version
3. Helm Repositories
# Thêm repo
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
# Update repos
helm repo update
# Tìm charts
helm search repo nginx
helm search hub prometheus
4. Install & Manage
# Install chart
helm install my-nginx bitnami/nginx
# Install với custom values
helm install my-nginx bitnami/nginx -f values.yaml
helm install my-nginx bitnami/nginx --set replicaCount=3
# Xem releases
helm list
helm status my-nginx
# Upgrade
helm upgrade my-nginx bitnami/nginx --set replicaCount=5
# Rollback
helm rollback my-nginx 1
# Uninstall
helm uninstall my-nginx
5. Custom Values
# values.yaml
replicaCount: 3
image:
repository: nginx
tag: "1.24"
service:
type: LoadBalancer
port: 80
resources:
limits:
cpu: 200m
memory: 256Mi
6. Tạo Chart Riêng
# Scaffold chart mới
helm create my-app
# Cấu trúc
my-app/
├── Chart.yaml # Metadata
├── values.yaml # Default values
├── templates/
│ ├── deployment.yaml
│ ├── service.yaml
│ ├── ingress.yaml
│ └── _helpers.tpl
└── charts/ # Dependencies
📝 Tóm Tắt
- Helm: Package manager cho K8s
- Chart: Package chứa K8s manifests
- Values: Customize chart
helm install/upgrade/rollback