Helm常用命令手册

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 目录中模板文件中用到变量的值。