helmv3对比helmv2,取消了tiller服务器,即k8s集群的master节点不需要再安装tiller,node节点不需要再安装socat工具。可以理解,helmv3已经变成纯客户端工具,即只有在任意安装helmv3的机器上,既可以使用helm命令操作k8s集群(类似kubectl)。

要在远程机器有权限能操作k8s集群,只需要把k8s集群的kubeconfig文件拷贝到远程机器上,然后再使用kubectl时,带上--kubeconfig  /../../ 参数即可。

同样,helmv3的使用也是如此,只需要在使用helmv3命令时带上--kubeconfig参数即可。

以下为部署一个chart应用流程:

1.首先需要添加一个chart仓库

helm3 repo add +仓库地址

仓库可以多种方式搭建,可以Chartmuseum,harbor等,这里推荐github的pages功能。

2.制作一个chart包

helm3 create 名称 ,会生成一个chart包目录,我们需要做的就是提取templates/**.yaml里的标签值,在value.yaml文件里以变量形式注入。(需要有golang的templates语法基础)

3.把制作完的chart压缩.tgz形式push到仓库,如果仓库为gitlab,则直接用git push,否则需要安装helmpush插件。然后helm repo update一下,helm search repo能查到刚刚push的chart包

4.最后执行helm install chart包 --set “value.yaml里的变量赋值”,进行chart包部署。在多环境部署同一chart包时,即只需set相关的变量值,不需要重复制作chart包。helm list能看到刚刚部署的chart实例。

 

 

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐