Helm

Helm 重要概念

  1. chart 是创建一个应用的信息集合,包括各种Kubernetes对象达的配置模板、参数定义、依赖关系、文档说明等。chart是应用部署的自包含逻辑单元。可以将chart理解为apt、yum中的软件安装包
  2.  release 是chart的运行实例,代表了一个正在运行的应用。当chart被安装到kubernetes集群,就生成一个release。chart能够多次安装到同一集群,每次安装都是一个release
  3. repository: charts仓库,http/https服务
  4. 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来创建一个serviceaccountclusterrolebinding才能让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
View Code
 
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 仓库构建

参考 https://yq.aliyun.com/articles/684391

https://www.cnblogs.com/xzkzzz/p/10445807.html

 

posted @ 2019-08-28 16:22  xmc_2022  阅读(117)  评论(0)    收藏  举报