Introduction
Get started with Helm on Google Axion C4A (Arm-based)
Create a Google Axion C4A virtual machine on Google Cloud
Install Helm
Validate Helm workflows on a Google Axion C4A virtual machine
Prepare a GKE cluster for Helm deployments
PostgreSQL Deployment Using Custom Helm Chart
Deploy Redis on GKE
Deploy NGINX with public access
Benchmark Helm concurrency on a Google Axion C4A virtual machine
Next Steps
In this section you’ll prepare a SUSE Linux Arm64 VM to work with Helm by installing Docker, kubectl, Helm, and KinD. After installation, you create and verify a local Kubernetes cluster for validating Helm workflows.
Update the system packages and install dependencies:
sudo zypper refresh
sudo zypper update -y
sudo zypper install -y curl git tar gzip
Enable the SUSE Containers Module to ensure that Docker and container-related tools are fully supported.
sudo SUSEConnect -p sle-module-containers/15.5/arm64
sudo SUSEConnect --list-extensions | grep Containers
Verify that the output shows the Containers module as Activated.
Docker is required to run KinD and the Kubernetes control plane components. Install Docker, start the service, and add your user to the docker group:
sudo zypper refresh
sudo zypper install -y docker
sudo systemctl enable --now docker
sudo usermod -aG docker $USER
exit
Exit the current shell and reconnect to the virtual machine so that the group membership change takes effect. Then verify that Docker is running:
docker ps
Output similar to the following indicates that Docker is installed and accessible:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
Install the kubectl command-line tool for interacting with Kubernetes clusters:
curl -LO https://dl.k8s.io/release/v1.30.1/bin/linux/arm64/kubectl
chmod +x kubectl
sudo mv kubectl /usr/local/bin/
Confirm that kubectl is installed and accessible from the command line:
kubectl version --client
Output similar to the following indicates that kubectl is installed correctly:
Client Version: v1.30.1
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Install Helm using the official Helm installation script to get a verified and up-to-date release.
curl -sSfL https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 > get_helm.sh
chmod 755 ./get_helm.sh
./get_helm.sh
Confirm that Helm is installed correctly and ready to use.
helm version
You should see an output similar to:
version.BuildInfo{Version:"v3.19.4", GitCommit:"7cfb6e486dac026202556836bb910c37d847793e", GitTreeState:"clean", GoVersion:"go1.24.11"}
Install KinD (Kubernetes-in-Docker) to run a lightweight Kubernetes cluster locally:
curl -Lo kind https://kind.sigs.k8s.io/dl/v0.30.0/kind-linux-arm64
chmod +x kind
sudo mv kind /usr/local/bin/
Create a cluster named helm-lab:
kind create cluster --name helm-lab
Verify that the Kubernetes cluster is running correctly:
kubectl get nodes
You should see an output similar to:
NAME STATUS ROLES AGE VERSION
helm-lab-control-plane Ready control-plane 23h v1.34.0
The node should be in Ready state. If not, wait 30 seconds for the cluster to initialize and retry the command.
Your local Kubernetes cluster is now running on your Arm64 VM.
You’ve successfully set up your development environment by:
Next, you’ll validate Helm functionality by performing install, upgrade, and uninstall workflows on your Arm64 Kubernetes cluster.