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.
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/chartsVerify Installation
helm versionThe 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/wordpressRetrieve 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 --decodeOpen 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/wordpressReferences
Helm Official Documentation: https://helm.sh/docs/ Helm Installation Guide (Aliyun):
https://yq.aliyun.com/articles/159601Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
ITPUB
Official ITPUB account sharing technical insights, community news, and exciting events.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
