helm
Original:🇺🇸 English
Translated
Helm is a package manager for Kubernetes that allows defining, installing, and upgrading applications via charts.
5installs
Added on
NPX Install
npx skill4agent add alphaonedev/openclaw-graph helmTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →helm
Purpose
Helm is a package manager for Kubernetes, enabling users to define, install, and upgrade applications using charts. It simplifies managing Kubernetes resources by packaging them into reusable templates.
When to Use
Use Helm for deploying and managing applications on Kubernetes clusters, especially when handling multiple environments, versioning dependencies, or automating deployments. Ideal for DevOps workflows involving microservices, where consistent application packaging is needed, such as in CI/CD pipelines for scalable apps.
Key Capabilities
- Package applications as charts, which are directories containing YAML manifests and templates.
- Support for chart repositories, allowing versioned storage and retrieval.
- Templating engine to customize deployments with values files (e.g., YAML format for overriding parameters).
- Rollback and upgrade features for managing release lifecycles.
- Integration with Kubernetes RBAC for secure operations.
Usage Patterns
To use Helm, first ensure Kubernetes access via or set the environment variable (e.g., ). Initialize Helm with if needed, then add repositories and install charts. For custom deployments, create a chart with , edit values.yaml, and install. Always specify the namespace with flag for multi-tenant clusters.
kubectlKUBECONFIGexport KUBECONFIG=~/.kube/confighelm inithelm create mychart--namespaceCommon Commands/API
Helm operates via CLI commands; no direct REST API exists, but it interacts with Kubernetes API server.
- Install a chart:
helm install myrelease stable/nginx --set service.type=LoadBalancer --namespace dev- Flags: for inline overrides,
--setfor external YAML file (e.g.,--values).helm install --values values.yaml
- Flags:
- Upgrade a release:
helm upgrade myrelease stable/nginx --set replicas=3- Use for rollback on failure.
--atomic
- Use
- List releases:
helm list --all-namespaces - Delete a release:
helm uninstall myrelease --namespace dev - Search repositories: Code snippet for a basic values.yaml file:
helm search repo nginx
replicaCount: 2
image:
repository: nginx
tag: latestTo add a repository: , then update with .
helm repo add stable https://charts.helm.sh/stablehelm repo updateIntegration Notes
Helm integrates with Kubernetes tools; ensure your cluster is accessible via the Kubernetes API. For authentication, use for client certificates or tokens. In CI/CD (e.g., GitHub Actions), run Helm in a container with installed: set env var like . For Terraform integration, use Helm provider: define in HCL as . Avoid conflicts by using Helm's flag with Kubernetes operators.
$KUBECONFIGkubectlexport HELM_REPOSITORY_CONFIG=repo.yamlresource "helm_release" "nginx" { name = "myrelease" chart = "stable/nginx" set { name = "service.type" value = "LoadBalancer" } }--waitError Handling
Common errors include "chart not found" (fix by running ), permission issues (ensure RBAC via ), or failed hooks (check with ). For deployment failures, use to review revisions, then rollback with . If a chart install errors due to invalid values, validate YAML first with a linter like . Always check Kubernetes events with for root causes.
helm repo updatekubectl create clusterrolebindinghelm statushelm history release-namehelm rollback release-name 0yamllint values.yamlkubectl get events --namespace devConcrete Usage Examples
- Install a WordPress chart: Add the repo with , then install:
helm repo add bitnami https://charts.bitnami.com/bitnami. This deploys WordPress with custom credentials; ensurehelm install mywordpress bitnami/wordpress --set wordpressUsername=admin --set wordpressPassword=$WP_PASSWORD --namespace webis set as an env var for security.$WP_PASSWORD - Upgrade an existing MongoDB release: First, install with , then upgrade:
helm install mymongo bitnami/mongodb --set auth.enabled=true. This scales resources; monitor withhelm upgrade mymongo bitnami/mongodb --set resources.requests.memory=512Mi --namespace dbto verify.helm status mymongo
Graph Relationships
- Related to: kubernetes (core dependency for deployments)
- Co-located in: devops-sre cluster (shared with tools like kubectl, terraform)
- Tagged with: helm, kubernetes, package-manager (links to similar skills in the cluster)