Helm on Minikube running on MacOS X
--
Helm helps you manage Kubernetes applications — Helm Charts help you define, install, and upgrade even the most complex Kubernetes application.
This is the reason Helm is gaining so much popularity I will show you below howto install and run helm on MacOS X with homebrew
Install homebrew
Open terminal and run below command in terminal
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Start minikube cluster
minikube start
Install & Initialize Helm using homebrew
brew install kubernetes-helm
Check whether helm is properly installed ?
helm --help
it should return below output
The Kubernetes package managerTo begin working with Helm, run the 'helm init' command:$ helm initThis will install Tiller to your running Kubernetes cluster.It will also set up any necessary local configuration.Common actions from this point include:- helm search: search for charts- helm fetch: download a chart to your local directory to view- helm install: upload the chart to Kubernetes- helm list: list releases of chartsEnvironment:$HELM_HOME set an alternative location for Helm files. By default, these are stored in ~/.helm$HELM_HOST set an alternative Tiller host. The format is host:port$HELM_NO_PLUGINS disable plugins. Set HELM_NO_PLUGINS=1 to disable plugins.$TILLER_NAMESPACE set an alternative Tiller namespace (default "kube-system")$KUBECONFIG set an alternative Kubernetes configuration file (default "~/.kube/config")$HELM_TLS_CA_CERT path to TLS CA certificate used to verify the Helm client and Tiller server certificates (default "$HELM_HOME/ca.pem")$HELM_TLS_CERT path to TLS client certificate file for authenticating to Tiller (default "$HELM_HOME/cert.pem")$HELM_TLS_KEY path to TLS client key file for authenticating to Tiller (default "$HELM_HOME/key.pem")$HELM_TLS_ENABLE enable TLS connection between Helm and Tiller (default "false")$HELM_TLS_VERIFY enable TLS connection between Helm and Tiller and verify Tiller server certificate (default "false")$HELM_TLS_HOSTNAME the hostname or IP address used to verify the Tiller server certificate (default "127.0.0.1")$HELM_KEY_PASSPHRASE set HELM_KEY_PASSPHRASE to the passphrase of your PGP private key. If set, you will not be prompted forthe passphrase while signing helm chartsUsage:helm [command]Available Commands:completion Generate autocompletions script for the specified shell (bash or zsh)create create a new chart with the given namedelete given a release name, delete the release from Kubernetesdependency manage a chart's dependenciesfetch download a chart from a repository and (optionally) unpack it in local directoryget download a named releasehelp Help about any commandhistory fetch release historyhome displays the location of HELM_HOMEinit initialize Helm on both client and serverinspect inspect a chartinstall install a chart archivelint examines a chart for possible issueslist list releasespackage package a chart directory into a chart archiveplugin add, list, or remove Helm pluginsrepo add, list, remove, update, and index chart repositoriesreset uninstalls Tiller from a clusterrollback roll back a release to a previous revisionsearch search for a keyword in chartsserve start a local http web serverstatus displays the status of the named releasetemplate locally render templatestest test a releaseupgrade upgrade a releaseverify verify that a chart at the given path has been signed and is validversion print the client/server version informationFlags:--debug enable verbose output-h, --help help for helm--home string location of your Helm config. Overrides $HELM_HOME (default "/Users/zoaib/.helm")--host string address of Tiller. Overrides $HELM_HOST--kube-context string name of the kubeconfig context to use--kubeconfig string absolute path to the kubeconfig file to use--tiller-connection-timeout int the duration (in seconds) Helm will wait to establish a connection to tiller (default 300)--tiller-namespace string namespace of Tiller (default "kube-system")Use "helm [command] --help" for more information about a command.
Final step is to initialize it and install install tiller on k8s cluster, which is minikube in our case.
helm init
it should return below output
mb187:.ssh zoaib$ helm initCreating /Users/zoaib/.helmCreating /Users/zoaib/.helm/repositoryCreating /Users/zoaib/.helm/repository/cacheCreating /Users/zoaib/.helm/repository/localCreating /Users/zoaib/.helm/pluginsCreating /Users/zoaib/.helm/startersCreating /Users/zoaib/.helm/cache/archiveCreating /Users/zoaib/.helm/repository/repositories.yamlAdding stable repo with URL: https://kubernetes-charts.storage.googleapis.comAdding local repo with URL: http://127.0.0.1:8879/charts$HELM_HOME has been configured at /Users/zoaib/.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-installationHappy Helming!
Now we have successfully installed helm on our minikube k8s cluster.