A collection of Helm charts for Kubernetes deployments, focusing on monitoring and infrastructure tools.
This repository contains custom Helm charts that are designed to simplify the deployment and management of various applications and services in Kubernetes clusters. Each chart follows Helm best practices and includes comprehensive documentation, configurable values, and production-ready defaults.
Version: 0.1.0 | App Version: 1.5.1
A Helm chart for deploying nvitop-exporter, a Prometheus exporter for comprehensive NVIDIA GPU monitoring.
Features:
- 🖥️ Real-time GPU utilization monitoring
- 🌡️ Temperature and power consumption tracking
- 💾 GPU memory usage metrics
- 📈 Prometheus integration with ServiceMonitor support
- 🔄 DaemonSet deployment for cluster-wide GPU monitoring
- ⚙️ Configurable node selection and tolerations
Use Cases:
- GPU cluster monitoring
- ML/AI workload resource tracking
- GPU performance optimization
- Infrastructure cost monitoring
- Kubernetes 1.16+
- Helm 3.0+
- kubectl configured to access your cluster
-
Clone the repository:
git clone <repository-url> cd helm-charts
-
Install a chart:
# Add the repository helm repo add ntheanh201 https://ntheanh201.id.vn/helm-charts helm repo update # Install nvitop-exporter with default values helm install nvitop-exporter ntheanh201/nvitop-exporter # Install with custom values helm install nvitop-exporter ntheanh201/nvitop-exporter -f custom-values.yaml # Install in a specific namespace helm install nvitop-exporter ntheanh201/nvitop-exporter --namespace monitoring --create-namespace
-
Verify the installation:
helm list kubectl get pods -l app.kubernetes.io/name=nvitop-exporter
# Upgrade to a new version
helm upgrade nvitop-exporter ntheanh201/nvitop-exporter
# Upgrade with new values
helm upgrade nvitop-exporter ntheanh201/nvitop-exporter -f updated-values.yaml
helm uninstall nvitop-exporter
helm-charts/
├── README.md # This file
└── nvitop-exporter/ # NVIDIA GPU monitoring chart
├── Chart.yaml # Chart metadata
├── README.md # Chart-specific documentation
├── values.yaml # Default configuration values
├── templates/ # Kubernetes manifests templates
└── charts/ # Chart dependencies
-
Create a new directory for your chart:
mkdir my-new-chart cd my-new-chart
-
Initialize the chart structure:
helm create my-new-chart
-
Follow the established patterns:
- Include comprehensive README.md
- Provide values file
- Add proper labels and annotations
- Include ServiceMonitor for Prometheus integration (if applicable)
# Lint the chart
helm lint ./chart-name
# Dry run installation
helm install --dry-run --debug chart-name ./chart-name
# Template rendering
helm template chart-name ./chart-name
- Fork the repository
- Create a feature branch (
git checkout -b feature/new-chart
) - Make your changes
- Test thoroughly
- Update documentation
- Submit a pull request
- Follow Helm best practices
- Include comprehensive documentation
- Provide production-ready default value files
- Use semantic versioning
- Include proper resource limits and requests
- Add health checks and readiness probes
- Support Prometheus monitoring when applicable
This repository is licensed under the MIT License.
Maintained with ❤️ for the Kubernetes community