Helm 常用命令

  • 查看版本
    1
    helm version
  • 查看当前安装的charts
    1
    helm list
  • 查询 charts
    1
    helm search nginx
  • 下载远程安装包到本地
    1
    helm fetch rancher-stable/rancher
  • 查看package详细信息
    1
    helm inspect chart
  • 安装charts
    1
    #helm install --name nginx --namespaces prod bitnami/nginx
  • 查看charts状态
    1
    #helm status nginx
  • 删除charts
    1
    #helm delete --purge nginx
  • 增加repo
    1
    2
    #helm repo add stable https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
    #helm repo add --username admin --password password myps https://harbor.pt1.cn/chartrepo/charts
  • 更新repo仓库资源
    1
    #helm repo update
  • 创建charts
    1
    #helm create helm_charts
  • 测试charts语法
    1
    #helm lint 
  • 打包charts
    1
    #cd helm_charts && helm package ./
  • 查看生成的yaml文件
    1
    #helm  template  helm_charts-0.1.1.tgz
  • 更新image
    1
    #helm upgrade --set image.tag=‘v201908‘ test update myharbor/study-api-en-oral
  • 回滚relase
    1
    #helm rollback 2

    自定义 package 的选项:

  • 查询支持的选项
    1
    #helm inspect values stable/mysql
  • 自定义 password 持久化存储
    1
    #helm install --name db-mysql --set mysqlRootPassword=anoyi  stable/mysql

    Helm 使用

  • 查询 charts
    1
    #helm search mysql
  • 查询 package 详细信息
    1
    #helm inspect stable/mysql
  • 部署 package
    1
    #helm install stable/mysql
  • 查看服务状态
    1
    #helm status existing-serval
  • 删除服务
    1
    #helm delete --purge existing-serval
  • 再次查看显示状态为删除
    1
    2
    3
    4
    5
    6
    helm status existing-serval 
    -
    LAST DEPLOYED: Mon Aug 12 19:09:51 2019
    NAMESPACE: default
    STATUS: DELETED
    -

    部署之前可以自定义 package 的选项:

  • 查询支持的选项
    1
    #helm inspect values stable/mysql
  • 自定义 password 持久化存储
    1
    #helm install --name pttestdb --set mysqlRootPassword=test  stable/mysql
  • 查看密码变量
    1
    2
    3
    4
    #helm get values  pttestdb
    -
    mysqlRootPassword: test
    -

    Chart.yaml 文件

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    ├── charts     #该目录中放置当前Chart依赖的其它Chart
    ├── Chart.yaml #用于描述Chart的相关信息,包括名字、描述信息以及等。
    ├── templates #部署文件模版目录,模版使用的值来自values.yaml和由Tiller提供的值
    │   ├── deployment.yaml #kubernetes Deployment object
    │   ├── _helpers.tpl #用于修改kubernetes objcet配置的模板
    │   ├── ingress.yaml
    │   ├── NOTES.txt #用于介绍 Chart 部署后的一些信息,例如:如何使用这个 Chart、列出缺省的设置等。
    │   ├── service.yaml #kubernetes Serivce
    │   └── tests
    │   └── test-connection.yaml
    └── values.yaml #用于存储 templates 目录中模板文件中用到变量的值。