Cloud Native 8 min read

Master Helm: Install, Configure, and Deploy Applications on Kubernetes

This guide explains Helm’s role as a Kubernetes package manager, introduces core concepts like charts, releases, and repositories, and provides step‑by‑step instructions for installing Helm and Tiller, configuring access, deploying a WordPress site, and upgrading releases.

ITPUB
ITPUB
ITPUB
Master Helm: Install, Configure, and Deploy Applications on Kubernetes

Overview

Helm is a package manager for Kubernetes that simplifies installing, managing, and uninstalling applications, similar to yum or apt-get on Linux.

Key Concepts

Chart : A Helm package that contains container images, dependencies, and Kubernetes resource definitions required to run an application. It may also include Service definitions.

Release : An instance of a chart running in a Kubernetes cluster. The same chart can be installed multiple times, each installation creating a separate release.

Repository : An HTTP server that stores and serves chart packages and an index file.

helm : The client‑side command‑line tool that communicates with the server component.

tiller : The server‑side component that interacts with the Kubernetes API server on behalf of the helm client.

Architecture

Installing Helm (Client)

Download the desired version from the Helm releases page: https://github.com/helm/helm/releases.

Extract the archive, e.g. tar -zxvf helm-v2.0.0-linux-amd64.tgz.

Move the binary to an executable directory, e.g. mv linux-amd64/helm /usr/local/bin/helm, then verify with helm --help.

Installing Tiller (Server)

Deploy the server component with helm init. By default Helm uses the stable repository https://kubernetes-charts.storage.googleapis.com/index.yaml and the Tiller image gcr.io/kubernetes-helm/tiller:v2.13.1. In regions with restricted access, specify an alternative repository and image:

helm init \
  --tiller-image registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.13.1 \
  --stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts

Verify Installation

helm version

The command prints client and server version information, confirming that both components are installed (e.g., v2.13.1).

Common Helm Commands

helm search

– Search charts in repositories. helm fetch – Download a chart locally. helm list – List releases deployed in the cluster. helm status – Show detailed information about a release. helm install – Install a chart. helm inspect – Describe chart contents. helm delete – Remove a release. helm create – Scaffold a new chart. helm package – Package a chart into a compressed archive. helm repo – Manage chart repositories (add, list, remove).

Granting Tiller Access

If the tiller-deploy Deployment lacks a ServiceAccount, create one and bind it to the cluster-admin role, then patch the deployment to use the account:

kubectl create serviceaccount --namespace kube-system tiller
kubectl create clusterrolebinding tiller-cluster-rule \
  --clusterrole=cluster-admin \
  --serviceaccount=kube-system:tiller
kubectl patch deploy --namespace kube-system tiller-deploy \
  -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'

Deploying WordPress with Helm

Install a WordPress instance without persistent storage:

helm install --name wordpress-test \
  --set "persistence.enabled=false,mariadb.persistence.enabled=false" stable/wordpress

Retrieve the service address and the generated admin password:

kubectl get svc -o wide
kubectl get secret --namespace default wordpress-test-wordpress \
  -o jsonpath="{.data.wordpress-password}" | base64 --decode

Open the service URL in a browser and log in with the obtained credentials.

Upgrading a Release

When a new chart version is available or configuration changes are required, use helm upgrade:

helm upgrade wordpress-test \
  --set "persistence.enabled=true,mariadb.persistence.enabled=true" stable/wordpress

References

Helm Official Documentation: https://helm.sh/docs/ Helm Installation Guide (Aliyun):

https://yq.aliyun.com/articles/159601
Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

cloud-nativeDeploymentWordPresshelm
ITPUB
Written by

ITPUB

Official ITPUB account sharing technical insights, community news, and exciting events.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.