Open lqshow opened 5 years ago
Helm 是 Kubernetes 的一个包管理工具,就类似 Ubuntu上 的 APT,和 CentOs 上的 yum 命令。 具有如下功能:
Kubernetes
Helm
# FROM SCRIPT curl https://raw.githubusercontent.com/helm/helm/master/scripts/get > get_helm.sh chmod 700 get_helm.sh ./get_helm.sh
# 安装 Tiller helm init # 覆盖 Tiller image helm init --upgrade --tiller-image gcr.io/kubernetes-helm/tiller:v2.10.0 # 升级 Tiller helm init --upgrade # 确认 Tiller 是否在集群安装好 kubectl get pods --namespace kube-system -l app=helm
apiVersion: v1 kind: ServiceAccount metadata: name: tiller namespace: kube-system --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: tiller roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: tiller namespace: kube-system
# 调整 service account kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'
client 管理 charts, server 管理发布 release
用户命令行工具,用来创建,拉取,搜索和验证 Charts,初始化 Tiller 服务。
部署在 Kubernetes 集群内部的 server,与 Helm client、Kubernetes API server 进行交互。
监听来自 Helm client 的请求
通过 chart 及其配置构建一次发布
安装 chart 到 Kubernetes集群,并跟踪随后的发布
通过与 Kubernetes交互升级或卸载 chart
一个 Helm 包,包含了运行 Kubernetes 一个应用实例所需要的镜像、依赖和资源定义等,是描述一组相关 Kubernetes 资源的文件集合。
. ├── Chart.yaml # 用于描述这个 chart, 包括名字,描述信息以及版本号 ├── README.md ├── templates # Kubernetes 模板 │ ├── NOTES.txt # 用于介绍 chart 部署后的信息。例如介绍如何使用该 chart,缺省设置等 │ ├── _helpers.tpl │ ├── deployment.yaml │ ├── pvc.yaml │ ├── secrets.yaml │ └── svc.yaml └── values.yaml # 用于存储 templates 目录中模板文件中用到的变量
包含了应用发布配置信息
在 Kubernetes 集群上运行的 Chart 及其配置的一个实例。
在同一个集群上,一个 Chart 可以安装很多次。每次安装都会创建一个新的 release。
用于发布和存储 Chart 的仓库。
Overview
Helm 是 Kubernetes 的一个包管理工具,就类似 Ubuntu上 的 APT,和 CentOs 上的 yum 命令。 具有如下功能:
Kubernetes
集群中安装或卸载 chartHelm
安装的 chart 的发布周期Installing Helm
Installing Helm Client
Installing Tiller Server
ClusterRoleBinding
Components
Helm Client
用户命令行工具,用来创建,拉取,搜索和验证 Charts,初始化 Tiller 服务。
Tiller Server
部署在 Kubernetes 集群内部的 server,与 Helm client、Kubernetes API server 进行交互。
监听来自 Helm client 的请求
通过 chart 及其配置构建一次发布
安装 chart 到
Kubernetes
集群,并跟踪随后的发布通过与
Kubernetes
交互升级或卸载 chartBasic concept
Chart
一个 Helm 包,包含了运行 Kubernetes 一个应用实例所需要的镜像、依赖和资源定义等,是描述一组相关 Kubernetes 资源的文件集合。
Chart 的基本结构
Config
包含了应用发布配置信息
Release
在 Kubernetes 集群上运行的 Chart 及其配置的一个实例。
在同一个集群上,一个 Chart 可以安装很多次。每次安装都会创建一个新的 release。
Repository
用于发布和存储 Chart 的仓库。
References