Helm

Written August 4, 2021, Updated May 15, 2022

Install the helm binary

# see https://github.com/helm/helm/releases for versions
HELM_VERSION=3.8.2

archType="amd64"
if test "$(uname -m)" = "aarch64"
then
    archType="arm64"
fi

wget "https://get.helm.sh/helm-v${HELM_VERSION}-linux-${archType}.tar.gz" -O /tmp/helm.tar.gz
tar -C ~/.local/bin/ -xzf /tmp/helm.tar.gz --wildcards --strip-components 1 '*/helm'

Test it

helm version --short
# see https://github.com/kubernetes/ingress-nginx/blob/main/charts/ingress-nginx/Chart.yaml for latest version
CHART_VERSION=4.1.1

# install/upgrade the chart
helm -n ingressns upgrade -i --create-namespace ingress-nginx --version v${CHART_VERSION} --repo https://kubernetes.github.io/ingress-nginx ingress-nginx --set controller.service.type=NodePort --set controller.service.nodePorts.https=31337
# see what was created
kubectl -n ingressns get all
# wait until it's READY 1/1
kubectl -n ingressns get pods --watch | ts
# test the service
curl -I -k https://localhost:31337/healthz
# HTTP/2 200
helm -n ingressns uninstall ingress-nginx
kubectl delete namespace ingressns