Helm Chart Repository Management¶
Helm Chart Repository Management involves the procedures for adding sources of Helm charts and managing the lifecycle of software releases within a Kubernetes cluster.^[400-devops__06-Kubernetes__devops-helm__terraform-helm__README.md]
Adding Repositories¶
Before installing a chart, the relevant chart repository must be added to the local Helm configuration.^[400-devops__06-Kubernetes__devops-helm__terraform-helm__README.md] This is accomplished using the helm repo add command, which assigns a local name to a remote URL.^[400-devops__06-Kubernetes__devops-helm__terraform-helm__README.md]
For example, to add the official Kubernetes Dashboard repository, the following command is used:
[Helm](<./helm.md>) repo add kubernetes-dashboard https://kubernetes.github.io/dashboard/
Installing Releases¶
Once a repository is added, charts can be deployed to the cluster using the helm install command.^[400-devops__06-Kubernetes__devops-helm__terraform-helm__README.md] A release is created by specifying a release name and the chart identifier, which combines the repository name and the chart name (e.g., repository-name/chart-name).^[400-devops__06-Kubernetes__devops-helm__terraform-helm__README.md]
Example installation:
[Helm](<./helm.md>) install kubernetes-dashboard kubernetes-dashboard/kubernetes-dashboard
Upon successful deployment, the command outputs the status, namespace, revision, and access information for the application^[400-devops__06-Kubernetes__devops-helm__terraform-helm__README.md].
Uninstalling Releases¶
To remove a deployed application, the helm delete command is used, targeting the specific release name assigned during installation.^[400-devops__06-Kubernetes__devops-helm__terraform-helm__README.md]
Example deletion:
[Helm](<./helm.md>) delete kubernetes-dashboard
Infrastructure as Code¶
Managing Helm repositories and releases can also be handled through [[Infrastructure as Code]] tools such as Terraform.^[400-devops__06-Kubernetes__devops-helm__terraform-helm__README.md] The Terraform Helm provider allows for the definition of a helm_release resource, which manages the repository configuration and chart values in a declarative manner[400-devops__06-Kubernetes__devops-helm__terraform-helm__README.md].[400-devops__06-Kubernetes__devops-helm__terraform-helm__README.md] This enables the specification of parameters such as the repository URL, chart version, and custom configuration values programmatically^[400-devops__06-Kubernetes__devops-helm__terraform-helm__README.md].
Related Concepts¶
- Kubernetes
- [[Infrastructure as Code]]
- Terraform
Sources¶
^[400-devops__06-Kubernetes__devops-helm__terraform-helm__README.md]