Helm基础入门

1,089 阅读1分钟

1.helm安装配置

  1. 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 报错

参考: stackoverflow.com/questions/4…

$ 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.