Kubernetes: helm

Getting it up and running

Install with brew install kubernetes-helm

https://github.com/helm/helm/blob/master/README.md

helm init
Creating /Users/snowcrash/.helm
Creating /Users/snowcrash/.helm/repository
Creating /Users/snowcrash/.helm/repository/cache
Creating /Users/snowcrash/.helm/repository/local
Creating /Users/snowcrash/.helm/plugins
Creating /Users/snowcrash/.helm/starters
Creating /Users/snowcrash/.helm/cache/archive
Creating /Users/snowcrash/.helm/repository/repositories.yaml
Adding stable repo with URL: https://kubernetes-charts.storage.googleapis.com
Adding local repo with URL: http://127.0.0.1:8879/charts
$HELM_HOME has been configured at /Users/snowcrash/.helm.

Tiller (the Helm server-side component) has been installed into your Kubernetes Cluster.

Please note: by default, Tiller is deployed with an insecure 'allow unauthenticated users' policy.
To prevent this, run `helm init` with the --tiller-tls-verify flag.
For more information on securing your installation see: https://docs.helm.sh/using_helm/#securing-your-helm-installation
Happy Helming!

Main concepts:

1. Chart: Helm package – contains all the resource definitions to run an application in a Kubernetes cluster.

See Helm Charts for examples of using Helm

2. Repository: where charts are stored

3. Release: an instance of a chart in a Kubernetes cluster. E.g. with a MySQL chart, you can have 2 databases running in a cluster by installing the chart twice. Each is its own release with its own release name.

 

Helm has two parts: the client (helm) and the server (tiller).

Tiller runs inside the Kubernetes cluster

 

Commands:

helm – outputs commands available

helm version – outputs client / server version.

helm init – runs helm.

helm init --upgrade– to upgrade Tiller.

 

Errors

Error: Get https://192.168.64.5:8443/api/v1/namespaces/kube-system/pods?labelSelector=app%3Dhelm%2Cname%3Dtiller: dial tcp 192.168.64.5:8443: connect: connection refused

it’s probably ‘cos you need to start Kubernetes. E.g. with minikube use:

minikube start

 

Error: could not find a ready tiller pod

if you run kubectl -n kube-system get po, check you see a tiller-deploy pod available there. Then, given the pod `tiller-deploy-6fd8d857bc-fp5s2

kubectl logs tiller-deploy-6fd8d857bc-fp5s2

Error from server (NotFound): pods "tiller-deploy-6fd8d857bc-fp5s2" not found

Solution to this is to use

 --namespace kube-system

i.e.

kubectl logs --namespace kube-system tiller-deploy-6fd8d857bc-fp5s2

which says:

[main] 2018/10/31 11:39:02 Starting Tiller v2.11.0 (tls=false)
[main] 2018/10/31 11:39:02 GRPC listening on :44134
[main] 2018/10/31 11:39:02 Probes listening on :44135
[main] 2018/10/31 11:39:02 Storage driver is ConfigMap
[main] 2018/10/31 11:39:02 Max history per release is 0

https://github.com/helm/helm/issues/2064

https://github.com/helm/helm/issues/2295

 

version is now working. But unsure if it was down to the earlier command I ran:

minikube addons enable registry-creds

 

Error: could not find tiller

Need to run helm init.

https://stackoverflow.com/questions/51646957/helm-could-not-find-tiller

 

 

For more on Helm Charts see: Helm Charts

 

Leave a Reply

Your email address will not be published. Required fields are marked *