Helm常用命令总结

Helm用途

做为Kubernetes的一个包管理工具,Helm具有如下功能:

  • 创建新的chart
  • chart打包成tgz格式
  • 上传chart到chart仓库或从仓库中下载chart
  • 在Kubernetes集群中安装或卸载chart
  • 管理用Helm安装的chart的发布周期

Helm有三个重要概念:

  1. chart:包含了创建Kubernetes的一个应用实例的必要信息
  2. config:包含了应用发布配置信息
  3. release:是一个chart及其配置的一个运行实例

Helm常用命令

操作类型 命令
添加仓库 helm repo add loki https://grafana.github.io/loki/charts
更新仓库 helm repo update
查看helm仓库列表 helm repo list
查看本地已安装的包 helm list (ls)
查看全部release(包括删除的...) helm list -a
查看helm版本 helm version
删除release helm delete loki
设置安装release名称 --name test
设置安装的namespace --namespace test
设置自定义属性 --set "loki.serviceName=loki"
从文件读取自定义属性集合 -f values.yaml
查找本地release的版本列表 helm search testapi -l
指定charts版本 --version 8.2.4
查看安装历史 helm history prometheus-operator
版本回滚 helm rollback prometheus-operator 1
打包chart helm package mychart
获取charts helm fetch stable/mysql --version 0.2.8 --untar
检查chart是否存在问题 helm lint mysql
创建一个本地仓库 helm serve –address 0.0.0.0:8879 –repo-path ./charts
创建一个chart helm create mychart
查看release状态 helm status mysql
更新release helm upgrade mysql -f mysql/values.yaml --set resources.requests.memory=1024Mi mysql
查看指定release的历史版本部署时部分配置信息 helm get --revision 1 mysql
对chart的模板和配置进行测试 helm install --dry-run --debug ./
查看release默认配置 helm inspect values stable/prometheus-operator

 helm目录结构(转载

利用 helm create mychart命令创建一个mychart目录:

$ helm create mychart
Creating mychart

生成的mychart的文件结构如下:

mychart/
|-- charts
|-- Chart.yaml
|-- templates
|   |-- deployment.yaml
|   |-- _helpers.tpl
|   |-- ingress.yaml
|   |-- NOTES.txt
|   `-- service.yaml
`-- values.yaml
 
2 directories, 7 files

生成chart目录里有Chart.yaml, values.yaml 与 NOTES.txt等文件,下面分别对chart中几个重要文件解释:
Chart.yaml 包含了chart的meta

  • data,描述了Chart名称、描述信息与版本。
  • values.yaml:存储了模板文件变量。
  • templates/:记录了全部模板文件。
  • charts/:依赖chart存储路径。
  • NOTES.txt:给出了部署后的信息,例如如何使用chart、列出默认的设置等等。

helm安装方式(转载

chart安装有以下几种方式:

  • 指定chart: helm install stable/mariadb
  • 指定打包的chart: helm install ./nginx-1.2.3.tgz
  • 指定打包目录: helm install ./nginx
  • 指定chart包URL: helm install https://example.com/charts/nginx-1.2.3.tgz

覆盖chart中的默认值,通过指定配置文件方式:

helm install -f myvalues.yaml ./redis

或者通过--set key=value形式:

helm install --set name=prod ./redis

helm删除release(转载

利用helm delete命令删除一个chart:

helm delete mysql

确认chart是否删除:

helm ls -a mysql

即使删除的chart,其发布的历史信息还是继续被保存:

helm hist mysql

可以恢复一个已经删除的release:

helm rollback --debug mysql 2

如果希望彻底删除一个release,可以用如下命令:

helm delete --purge mysql

 

上一篇:自定义vue组件chart-view


下一篇:android 中的Http请求类HttpUrlConnection和HttpClient类