1. 安装Helm客户端
方式一:
公有云环境可以使用官方安装脚本一键安装,只需要执行如下一条命令:
curl https://raw.githubusercontent.com/helm/helm/master/scripts/get |bash
方式二:
内网环境可以手动下载安装,下载地址:https://github.com/kubernetes/helm/releases
tar -zxvf helm-2.14.1.tar.gz
mv helm-2.14.1/helm /usr/local/bin/helm
执行helm version命令验证:
目前只能查看到客户端的版本,服务器还没有安装
[root@master1 helm]# helm version
Client: &version.Version{SemVer:"v2.14.1", GitCommit:"5270352a09c7e8b6e8c9593002a73535276507c0", GitTreeState:"clean"}
Error: could not find a ready tiller pod
安装helm的bash命令补全脚本:
helm completion bash > .hermrc ;echo "source .helmrc" >> .bashrc
2.安装Tiller服务器
执行helm init即可安装。
tiller本身也是作为容器运行在k8s集群中的。
运行如下命令可以查看状态。
>kubectl get pod -n kube-system
tiller-deploy-767d9fb945-qfgl7 1/1 Running 0 30s
>kubectl get svc n kube-system
tiller-deploy ClusterIP 10.104.49.187 <none> 44134/TCP 2d22h
再次执行 helm version,已经可以看到
[root@master1 workspace]# helm version
Client: &version.Version{SemVer:"v2.14.1", GitCommit:"5270352a09c7e8b6e8c9593002a73535276507c0", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.14.1", GitCommit:"5270352a09c7e8b6e8c9593002a73535276507c0", GitTreeState:"clean"}
3.使用Helm
helm常用命令
查看当前可安装的chart
> helm search # 查看当前可安装的chart
> helm search mysql #查看当前可用的含mysql关键字的chart
NAME CHART VERSION APP VERSION DESCRIPTION
stable/mysql 1.2.0 5.7.14 Fast, reliable, scalable, and easy to use open-source rel...
stable/mysqldump 2.4.2 2.4.1 A Helm chart to help backup MySQL databases using mysqldump
stable/prometheus-mysql-exporter 0.4.0 v0.11.0 A Helm chart for prometheus mysql exporter with cloudsqlp...
stable/percona 1.1.0 5.7.17 free, fully compatible, enhanced, open source drop-in rep...
stable/percona-xtradb-cluster 1.0.0 5.7.19 free, fully compatible, enhanced, open source drop-in rep...
stable/phpmyadmin 2.2.5 4.9.0-1 phpMyAdmin is an mysql administration frontend
stable/gcloud-sqlproxy 0.6.1 1.11 DEPRECATED Google Cloud SQL Proxy
stable/mariadb 6.5.2 10.3.16 Fast, reliable, scalable, and easy to use open-source rel...
查看当前配置的可用仓库
> helm repo list #查看helm 当前配置的仓库,默认配置好了两个,stable是官方仓库,local是用户存放自己开发的chart的本地仓库
NAME URL
stable https://kubernetes-charts.storage.googleapis.com
local http://127.0.0.1:8879/charts
安装chart
> helm install stable/mysql
安装chart若报错Error : no available release name found
,是因为Tiller服务器权限 不足,需要添加权限
> kubectl create serviceaccount --namespace kube-system tiller
> kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
> kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'
deployment.extensions "tiller-deploy" patched
添加权限后再执行helm install stable/mysql
即可成功,默认的namespace是jx,有时安装chart会报Error: failed to download "stable/mysql" (hint: running `helm repo update` may help
),多试几遍就可以,具体原因未知。
查看已经部署的release
helm list
删除已经部署的release
helm delete