# start you local minikube cluster
minikube start
# check that the cluster is running with
minikube status
kubectl get ns # ns is shorthand for namespace
# create the namespace for the chart
kubectl create ns helm-intro
# install the given chart into the helm-intro namespace
helm install intro . -f values.yaml -n helm-intro
This installed the REVISION: 1
of this chart under the name
intro
(that can be choosen) and returned the content of the
file templates/NOTES.txt
with some notes for the user.
There are a few ways to look at the revision now.
# get the manifests currently deployed
helm get manifest intro -n helm-intro
# analyze a specific helm revision
helm status intro -n helm-intro -o yaml --revision 1
Now let's checkout the app we've deployed.
In templates/deployment.yaml
a deployment is defined with
a pod template for a default nginx server.
In templates/service.yaml
there is a service called nginx-service
exposing the pod on a node port.
In templates/configmap.yaml
there is the index.html
page
replacing the nginx default (mounted in the deployment).
# minikube has this neat way of getting the url for the service
minikube service nginx-service --url -n helm-intro
Let's see if there is Welcome to the helm intro!
on this url
and whether it looks very much green.
Seems like the designer thinks fuchsia seems to a better color 😱,
let's change the nginx backgroundColor
in values.yaml
to fuchsia
.
To verify the change before upgrading this chart now, you can use this super cool plugin to check what's gonna happen.
# download the plugin (this will simply place the repo into
# a helm plugin directory)
helm plugin install https://github.com/databus23/helm-diff
# let's use the plugin to see what would happen if we were
# to upgrade this chart
helm diff upgrade intro . -n helm-intro -f values.yaml
Looks good, right? Only the background color changed in our configmap plus the checksum in the deployment annotations. Time to actually do the change.
helm upgrade intro . -n helm-intro -f values.yaml
To check what happend between revision 1 and 2, let's use this awesome plugin again!
helm diff revision -n helm-intro intro 1 2
Oh snap! Fuchsia looks terrible 😋. Let's rollback, but check the diff in advance - just to be sure...
# diff for the rollback from the current revision 2 to the revision 1
helm diff rollback -n helm-intro intro 1
This looks good, rolling back will again set the color to green. Let's go with that change and rollback the release.
helm rollback -n helm-intro intro 1
The history shows now also that the revision 3 was a rollback to revision 1.
helm history -n helm-intro intro
Let's get rid of that stuff, enough is enough:
# uninstall the chart
helm uninstall -n helm-intro intro
# remove the namespace
kubectl delete ns helm-intro
# delete the minikube cluster
minikube delete