在已经搭建完成K8S后,忍不住又去装了下HELM,对于容器编排来说能省不少的工作。
HELM官方地址:https://www.helm.sh/
截止到发稿时,最新的HELM稳定版本为2.11.0,Github地址:https://github.com/helm/helm
可以直接在github下载各个平台的二进制版,包括一个HELM客户端和一个TILLER服务端,两个工具在安装的过程中请务必保证版本的一致性,否则无法使用。
如果你没有强迫症,可以选择使用2.11.0版本的HELM,这样会简单一些,具体步骤:
1、在Github Release中找到2.11.0 Binary版本,选择你需要的平台版本下载。
2、解压HELM二进制文件,到/usr/local/bin(以Linux amd64平台为例)。
3、运行命令:
helm init --upgrade --service-account tiller \
-i registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.11.0 \
--stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
这里使用了阿里云杭州节点的容器镜像仓库,如果你可以连接谷歌站点,可以使用helm init命令直接安装。
4、如果你的K8S集群开启了RBAC,那么使用的时候会提示 你的ServiceAccout 没有权限。
请编写K8S RBAC文件(rbac.yaml):
apiVersion: v1
kind: ServiceAccount
metadata:
name: tiller
namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: tiller
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: tiller
namespace: kube-system
保存后运行以下命令:
kubectl create -f rbac-config.yaml
成功创建ServiceAccount并绑定角色。
5、使用方法
参加官方文档:https://docs.helm.sh/
6、如果要使用beta版本HELM,那么最好是自己封装一个docker镜像,并将tiller服务端打包进去,开放响应的端口,之后在init时指定自己封装的镜像即可。