每天5分钟玩转Kubernetes | 使用Helm
Posted COCOgsta
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每天5分钟玩转Kubernetes | 使用Helm相关的知识,希望对你有一定的参考价值。
书籍来源:cloudman《每天5分钟玩转Kubernetes》
一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持!
附上汇总贴:每天5分钟玩转Kubernetes | 汇总_COCOgsta的博客-CSDN博客
Helm安装成功后,可执行helm search查看当前可安装的chart,如图所示。
这个列表很长,这里只截取了一部分。大家不禁会问,这些chart都是从哪里来的?
前面说过,Helm可以像apt和yum管理软件包一样管理chart。apt和yum的软件包存放在仓库中,同样的,Helm也有仓库,如图所示。
Helm安装时已经默认配置好了两个仓库:stable和local。stable是官方仓库,local是用户存放自己开发的chart的本地仓库。
helm search会显示chart位于哪个仓库,比如local/cool-chart和
stable/acs-engineautoscaler。
用户可以通过helm repo add添加更多的仓库,比如企业的私有仓库,仓库的管理和维护方法请参考官网文档https://docs.helm.sh。
与apt和yum一样,helm也支持关键字搜索,如图所示。包括DESCRIPTION在内的所有信息,只要跟关键字匹配,都会显示在结果列表中。
安装chart也很简单,执行如下命令就可以安装mysql。
helm install stable/mysql
如果看到如图所示的报错,通常是因为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"'
然后再次执行下面的命令,结果如图所示。
helm install stable/mysql
(需要helm reset后重新跑一下添加权限脚本,否则会出现Error: no available release name found错误)
输出分为三部分:
① chart本次部署的描述信息。
- NAME是release的名字,因为我们没用-n参数指定,所以Helm随机生成了一个,这里是cloying-panda。
- NAMESPACE是release部署的namespace,默认是default,也可以通过--namespace指定。
- STATUS为DEPLOYED,表示已经将chart部署到集群。
② 当前release包含的资源:Service、Deployment、Secret和PersistentVolumeClaim,其名字都是cloying-panda-mysql,命名的格式为ReleasName-ChartName。
③ NOTES部分显示的是release的使用方法,比如如何访问Service、如何获取数据库密码以及如何连接数据库等。
通过kubectl get可以查看组成release的各个对象,如图所示。
因为我们还没有准备PersistentVolume,所以当前release还不可用。
helm list显示已经部署的release,helm delete可以删除release,如图所示。
Helm的使用方法像极了apt和yum,用Helm来管理Kubernetes应用非常方便。
以上是关于每天5分钟玩转Kubernetes | 使用Helm的主要内容,如果未能解决你的问题,请参考以下文章
每天5分钟玩转Kubernetes | Dashboard典型使用场景
每天5分钟玩转Kubernetes | 在Pod中使用Secret
每天5分钟玩转Kubernetes | Kubernetes集群日志管理
每天5分钟玩转Kubernetes | Kubernetes Dashboard安装