使用 Helm - 天天5分钟玩转 Docker 容器技术(163)

Helm 安装成功后,可执行 helm search 查看当前可安装的 chart。html

这个列表很长,这里只截取了一部分。你们不由会问,这些 chart 都是从哪里来的?mysql

前面说过,Helm 能够像 apt 和 yum 管理软件包同样管理 chart。apt 和 yum 的软件包存放在仓库中,一样的,Helm 也有仓库。sql

Helm 安装时已经默认配置好了两个仓库:stable 和 localstable 是官方仓库,local 是用户存放本身开发的 chart 的本地仓库。数据库

helm search 会显示 chart 位于哪一个仓库,好比 local/cool-chart 和 stable/acs-engine-autoscaler服务器

用户能够经过 helm repo add 添加更多的仓库,好比企业的私有仓库,仓库的管理和维护方法请参考官网文档 https://docs.helm.shspa

与 apt 和 yum 同样,helm 也支持关键字搜索:code

包括 DESCRIPTION 在内的全部信息,只要跟关键字匹配,都会显示在结果列表中。htm

安装 chart 也很简单,执行以下命令能够安装 MySQL。对象

helm install stable/mysql

若是看到以下报错,一般是由于 Tiller 服务器的权限不足。blog

执行以下命名添加权限:

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"}}}}'

而后再次执行

helm install stable/mysql

输出分为三部分:

① chart 本次部署的描述信息:

NAME 是 release 的名字,由于咱们没用 -n 参数指定,Helm 随机生成了一个,这里是 fun-zorse

NAMESPACE 是 release 部署的 namespace,默认是 default,也能够经过 --namespace 指定。

STATUS 为 DEPLOYED,表示已经将 chart 部署到集群。

② 当前 release 包含的资源:Service、Deployment、Secret 和 PersistentVolumeClaim,其名字都是 fun-zorse-mysql,命名的格式为 ReleasName-ChartName

③ NOTES 部分显示的是 release 的使用方法。好比如何访问 Service,如何获取数据库密码,以及如何链接数据库等。

经过 kubectl get 能够查看组成 release 的各个对象:

由于咱们尚未准备 PersistentVolume,当前 release 还不可用。

helm list 显示已经部署的 release,helm delete 能够删除 release。

Helm 的使用方法像极了 apt 和 yum,用 Helm 来管理 Kubernetes 应用很是方便。

chart 是 Helm 的应用打包格式,下节咱们详细介绍。

书籍:

1.《天天5分钟玩转Kubernetes》
https://item.jd.com/26225745440.html

2.《天天5分钟玩转Docker容器技术》
https://item.jd.com/16936307278.html

3.《天天5分钟玩转OpenStack》
https://item.jd.com/12086376.html