每天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应用非常方便。

猜你喜欢

转载自blog.csdn.net/guolianggsta/article/details/125267917