简介
Helm 是 Kubernetes 官方支持的包管理工具,可以方便地发现、共享和使用为Kubernetes构建的应用。 能够很便捷的对k8s应用进行版本管理控制。
安装
这里使用目前最新的版本2.9.0
,可以直接通过。 官方下载速度较慢,这里我也上传了一个包,方面大家使用:。
安装也分为两种,k8s集群启用了RBAC权限控制和没有启用权限控制。
没有启用权限控制
当没有启用权限控制时,安装部署过程很简单,解压后直接执行helm init
即可。 但是默认helm
会去官方仓库下载服务端tiller镜像,地址为:gcr.io/kubernetes-helm/tiller:v2.9.0
。 由于某种众所周知的原因,gcr.io
这个仓库是无法使用的,这里我也通过阿里云容器服务,上传了一个镜像供大家使用。 只要在我们初始化的时候,指定使用的tiller镜像地址即可,如下:
helm init --tiller-image registry.cn-hangzhou.aliyuncs.com/luhaoyuan/tiller:v2.9.0
启用RBAC权限控制
如果启用了权限控制,那就麻烦一点了,需要我们创建对应的serviceaccount,否则以下报错:
list: failed to list: Get http://localhost:8080/api/v1/namespaces/kube-system/configmaps?
labelSelector=OWNER%3DTILLER: dial tcp 127.0.0.1:8080: connect: connection refused
执行helm ls
的时候报下面这种错误提示:
Error: configmaps is forbidden: User "system:serviceaccount:kube-system:default"
cannot list configmaps in the namespace "kube-system"
好了,我们开始安装并授予权限吧,依次执行以下命令:
# 在kube-system命名空间中创建tiller账户
kubectl create serviceaccount --namespace kube-system tiller
# 创建角色并授予cluster-admin权限
kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
# 指定账户进行初始化,别忘了还要指定tiller镜像哦
helm init --service-account tiller --tiller-image registry.cn-hangzhou.aliyuncs.com/luhaoyuan/tiller:v2.9.0
# 最后验证一下,是否有报错,执行以下命令没报错则表示成功了
helm ls
参考链接:
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/2004.html