Helm
Helm 重要概念
-
chart 是创建一个应用的信息集合,包括各种Kubernetes对象达的配置模板、参数定义、依赖关系、文档说明等。chart是应用部署的自包含逻辑单元。可以将chart理解为apt、yum中的软件安装包
-
release 是chart的运行实例,代表了一个正在运行的应用。当chart被安装到kubernetes集群,就生成一个release。chart能够多次安装到同一集群,每次安装都是一个release
- repository: charts仓库,http/https服务
- config:包含了应用发布配置信息
Helm 组件
Helm Client 是用户命令行工具,其主要负责如下:
- 本地 chart 开发
- 仓库管理
- 与 Tiller sever 交互
- 发送预安装的 chart
- 查询 release 信息
- 要求升级或卸载已存在的 release
Tiller Server是一个部署在Kubernetes集群内部的 server,其与 Helm client、Kubernetes API server 进行交互。Tiller server 主要负责如下:
- 监听来自 Helm client 的请求
- 通过 chart 及其配置构建一次发布
- 安装 chart 到
Kubernetes集群,并跟踪release状态 - 通过与
Kubernetes交互升级或卸载 chart - 简单的说,client 管理 charts,而 server 管理发布 release

安装
1.配置 Helm 客户端访问权限
Helm在集群上安装
tiller服务以管理charts. 由于kubeadm默认启用RBAC, 因此我们需要使用kubectl来创建一个serviceaccount,clusterrolebinding才能让tiller具有部署到集群的权限。kubectl -n kube-system create serviceaccount tiller
kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller
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
tar -zxvf helm-v2.14.3-linux-amd64.tar.gz cp linux-amd64/helm linux-amd64/tiller /usr/local/bin/
安装 Helm Server(Tiller)
helm init --service-account tiller --tiller-image registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.14.3 --stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
Tiller 本身也是作为容器化应用运行在Kubernetes Cluster 中的,helm version 查看服务器版本信息

Helm 仓库构建

浙公网安备 33010602011771号