Skip to content

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/
^[400-devops__06-Kubernetes__devops-helm__terraform-helm__README.md]

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
^[400-devops__06-Kubernetes__devops-helm__terraform-helm__README.md]

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
^[400-devops__06-Kubernetes__devops-helm__terraform-helm__README.md]

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].

Sources

^[400-devops__06-Kubernetes__devops-helm__terraform-helm__README.md]