Helm installation and configuration
I. Overview
Helm is a package management tool for kubernetes to simplify the deployment and management of Kubernetes applications. Used to manage charts-- preconfigured installation package resources.
The main roles of Helm and charts are:
Application encapsulation
Version management
Dependency check
Easy for application distribution
Helm is a Cmax S framework software, helm is equivalent to a client, and tiller is a server.
Helm CLI is a Helm client that can be executed locally
Tiller is a server-side component that runs on a Kubernetes cluster and manages the lifecycle of Kubernetes applications
Repository is the Chart repository, and the Helm client accesses the index files and packages of Chart in the warehouse through HTTP protocol.
How Helm works
Chart Install process:
Helm parses the Chart structure information from the specified directory or tgz file
Helm passes the specified Chart structure and Values information to Tiller through gRPC
Tiller generates a Release based on Chart and Values
Tiller sends Release to Kubernetes to generate Release
Chart Update process:
Helm parses the Chart structure information from the specified directory or tgz file
The name and Chart structure of the Release to be updated by Helm, and the Values information is passed to Tiller
Tiller generates Release and updates the History of the Release with the specified name
Tiller sends Release to Kubernetes to update Release
Chart Rollback process:
Helm passes the name of the Release to be rolled back to Tiller
Tiller looks up History based on the name of Release
Tiller gets the last Release from History
Tiller sends the previous Release to Kubernetes to replace the current Release
Second, install the Helm client curl-LO https://www.cnrancher.com/download/helm/helm-v2.14.3-linux-amd64.tar.gztar-xvf helm-v2.14.3-linux-amd64.tar.gzsudo cp linux-amd64/helm / usr/local/bin/
View version information
$helm versionClient: & version.Version {SemVer: "v2.14.3", GitCommit: "0e7f3b6637f7af8fcfddb3d2941fcc7cbebb0085", GitTreeState: "clean"} Error: could not find tiller III. Install tiller Server
Create a service account
Kubectl-n kube-system create serviceaccount tillerkubectl create clusterrolebinding tiller-- clusterrole cluster-admin-- serviceaccount=kube-system:tiller
Initialize tiller
Note: tiller-image needs to be explicitly specified in offline environment, and it needs to be consistent with the version of helm client, such as v2.14.3 above. The appropriate version is automatically selected by environment variables below.
Docker pull zhaojiajie/kubernetes-helm/tiller:v2.14.3 helm init-- service-account tiller--tiller-image rancher/tiller:v2.14.3-- skip-refresh $kubectl get pods-- namespace kube-system | grep tillertiller-deploy-65cff4d7bc-g9gzm 1 Running 0 11d $helm versionClient: & version.Version {SemVer: "v2.14.3", GitCommit: "0e7f3b6637f7af8fcfddb3d2941fcc7cbebb0085", GitTreeState: "clean"} Server: & version.Version {SemVer: "v2.14.3" GitCommit: "0e7f3b6637f7af8fcfddb3d2941fcc7cbebb0085", GitTreeState: "clean"}