1.helm安装配置
- helm 安装配置
- 安装
helm 下载地址: github.com/helm/helm/r… v3.5.2版本:get.helm.sh/helm-v3.5.2…
$ tar xf helm-v3.1.0-linux-amd64.tar.gz
$ cp -a linux-amd64/helm /usr/local/bin
$ helm version # 验证
- 配置 Chart 仓库
微软仓库: mirror.azure.cn/kubernetes/… 基本上官网有的 chart 这里都有;阿里云仓库: kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
$ helm repo add stable http://mirror.azure.cn/kubernetes/charts
$ helm repo add ali https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
$ helm repo list #验证是否添加成功
NAME URL
stable http://mirror.azure.cn/kubernetes/charts/
ali https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
$ helm repo remove ali #移除暂不需要的 chart 仓库
- 基本概念
- Chart 代表 Helm 包,包含 Kubernetes 集群运行应用程序,工具或服务所需的所有资源定义
- Repository 用来存放和共享 chart 的地方
- release 是运行在 Kubernetes 集群中 chart 的实例
- chart 的文件结构
-
Chart.yaml 描述这个 Chart 的基本信息,包括名字、描述信息以及版本等 README.md 可读的 README 文件 templates 目录里面存放了所有的 yaml 模板文件 value.yaml 用于存放 templates 中的模板文件用到的变量值 charts 目录存放当前 chart 依赖的其他子 chart
2.基础命令
- 查找相关 chart
- helm search 可以从两种源进行搜索
- helm search hub #从 Artifact Hub 中查找并列出 helm charts,里面存放了大量不同的仓库
- helm search repo #从添加到本地 helm 客户端中的仓库进行查找,基于本地数据搜索,无需连接互联网
$ helm search repo 或
$ helm search repo mysql 或
$ helm search repo |grep mysql
备注:Helm 搜索使用模糊字符串匹配算法,所以可以只输入名字的一部分
- 查看具体 chart 的详细信息
$ helm show chart stable/mysql
- 安装 chart
$ helm repo update #更新 chart 仓库,确保获取最新的 chart 列表
$ helm install mytomcat stable/tomcat #安装
或 $ helm install stable/tomcat --generate-name #自动生成 release 名字
$ helm ls #查看已安装的 release
$ helm status mytomcat #查看 release 的状态
不同名称空间下的 release 可以同名
- 自定义 Chart 配置选项安装 Chart 如果不使用 chart 的默认配置选项,需要自定义 chart 来指定我们想要的配置
$ helm show values stable/mariadb #查看 chart 中的可配置选项
有两种方法可以传递配置数据:
--value 或-f 指定带有覆盖的 YAML 文件
如:helm install mytomcat -f config.yaml stable/tomcat
--set 命令行的方式对指定替代
两者格式对比:
- 卸载 release
$ helm uninstall mytomcat #release 卸载
- 拉取 Chart 包到本地
$ helm pull stable/tomcat --untar #非压缩包的方式下载
- 自己构建 Helm Chart 部署 — 打包
$ helm create demo
Creating demo
$ tree demo/
demo/
├── charts
├── Chart.yaml
├── templates
│ ├── deployment.yaml
│ ├── _helpers.tpl
│ ├── ingress.yaml
│ ├── NOTES.txt
│ ├── serviceaccount.yaml
│ ├── service.yaml
│ └── tests
│ └── test-connection.yaml
└── values.yaml
3 directories, 9 files
$ helm install web demo/ #部署
$ helm package demo/ #打包
- 将 chart 推送到仓库 1)安装 chartmuseum 仓库
$ helm search repo chartmuseum #检索仓库中的相关 chart
$ helm install stable/chartmuseum --set env.open.DISABLE_API=false #默认上传端口会被 disable 需要放开,否则会出现 404 报错
$ helm repo add chartmuseum http://10.3.254.125:8080 #添加 chart 仓库
2)下载 helm-push 插件
$ helm plugin install https://github.com/chartmuseum/helm-push.git #安装 helm 插件
参考: github.com/chartmuseum… 3)推送 chart 到 chartmuseum 仓库
$ helm push tomcat-0.4.3.tgz chartmuseum
Pushing tomcat-0.4.3.tgz to chartmuseum...
Done.