千家信息网

k8s包管理Helm命令大全

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,前言helm的三个核心概念:Chart: chart就是一个安装包,类似与rpm,deb这样的安装包Reporitory: 仓库,一个http服务器存放Charts包. 安装完helm之后,默认配置了
千家信息网最后更新 2026年11月01日k8s包管理Helm命令大全

前言

helm的三个核心概念:

  • Chart: chart就是一个安装包,类似与rpm,deb这样的安装包
  • Reporitory: 仓库,一个http服务器存放Charts包. 安装完helm之后,默认配置了谷歌官方stable仓库.
  • release: heml install一个chart之后生成的实例.一个chart每次安装都会产生一个release.
    release之间没有直接关系,每个release有revision,对应这个release在helm管理下的版本.

helm安装有四种方式:

  • 从repository, helm install stable/mysql
  • charts打包后的tgz包,helm install mysql-2.3.tgz
  • 从tgz解压后的charts目录,helm install mysql/
  • 从url, helm install http://127.0.0.1:8879/charts/mysql

helm的日常使用:

一个release的生命周期
  1. 首先查找包,如想要安装mysql,helm search mysql,mysql是个关键字,如果一个chart中的chart.yaml文件内定义了这个关键字,则可以被搜索到.

    $ helm search mysqlNAME                                    CHART VERSION   APP VERSION     DESCRIPTION                                                 stable/mysql                            1.3.0           5.7.14          Fast, reliable, scalable, and easy to use open-source rel...stable/mysqldump                        2.5.0           2.4.1           A Helm chart to help backup MySQL databases using mysqldump stable/prometheus-mysql-exporter        0.5.1           v0.11.0         A Helm chart for prometheus mysql exporter with cloudsqlp...stable/percona                          1.1.0           5.7.17          free, fully compatible, enhanced, open source drop-in rep...stable/percona-xtradb-cluster           1.0.0           5.7.19          free, fully compatible, enhanced, open source drop-in rep
  2. 查看安装包的内容,helm inspect -h, helm inspect values 只查看暴露的自定义参数, 或者直接helm fetch下载此安装包至当前目录.

    $ helm inspect values stable/mysql## mysql image version## ref: https://hub.docker.com/r/library/mysql/tags/##image: "mysql"imageTag: "5.7.14"busybox:  image: "busybox"  tag: "1.29.3"testFramework:  image: "dduportal/bats"  tag: "0.4.0"## Specify password for root user#### Default: random 10 character string# mysqlRootPassword: testing
  3. 根据查看到的values来自定义安装或直接安装.helm install, 使用helm template $chartsName输出K8s的资源文件,参数与install一样.使用--dry-run --debug来模拟安装过程并打印配置信息.
    cat << EOF > config.yamlmariadbUser: user0mariadbDatabase: user0dbEOFhelm install stable/mysql  -f configure.yaml --set service.nodePort=31313# 只查看安装过程中的文件,不进行实际安装.helm install stable/mysql  -f configure.yaml --set service.nodePort=31313 --debug --dry-run# 输出对应k8s的yaml文件helm template stable/mysql  -f configure.yaml --set service.nodePort=31313 
  4. 查看安装后的release, helm ls, 可以查看release的名字,revision版本,更新时间,当前状态,chart版本,app版本,namespace.
    $ helm lsNAME                    REVISION        UPDATED                         STATUS          CHART           APP VERSION                     NAMESPACEgilded-mule             6               Wed Jul 17 10:31:33 2019        DEPLOYED        minio-2.5.0     RELEASE.2019-05-14T23-57-45Z    default  hopping-rottweiler      1               Wed Jul 17 10:06:06 2019        FAILED          minio-2.5.0     RELEASE.2019-05-14T23-57-45Z    default  modest-tuatara          1               Wed Jul 17 10:09:30 2019        FAILED          qujun-2.5.0     RELEASE.2019-05-14T23-57-45Z    default  
  5. 查看release当前安装的资源状态,helm status $releaseName.

    $ helm status gilded-muleLAST DEPLOYED: Wed Jul 17 10:31:33 2019NAMESPACE: defaultSTATUS: DEPLOYEDRESOURCES:==> v1/ConfigMapNAME               DATA  AGEgilded-mule-minio  1     68m==> v1/PersistentVolumeClaimNAME               STATUS   VOLUME  CAPACITY  ACCESS MODES  STORAGECLASS  AGEgilded-mule-minio  Pending  68m==> v1/Pod(related)NAME                                READY  STATUS   RESTARTS  AGEgilded-mule-minio-84f85fff78-rv6r6  0/1    Pending  0         68m==> v1/SecretNAME               TYPE    DATA  AGEgilded-mule-minio  Opaque  2     68m...........
  6. 查看release详细信息,heml get $releasename, 查看对应k8s的yaml文件, helm get manifest $releaseName.查看安装时自定义的value.heml get values $releasename

    $ helm get gilded-mule   REVISION: 6RELEASED: Wed Jul 17 10:31:33 2019CHART: minio-2.5.0USER-SUPPLIED VALUES:service:    nodePort: 31312COMPUTED VALUES:DeploymentUpdate:    maxSurge: 100%    maxUnavailable: 0    type: RollingUpdateStatefulSetUpdate:    updateStrategy: RollingUpdate ......# 查看这个release安装时自定义的参数.$ helm get values gilded-mule                        service:    nodePort: 31312
  7. 升级,回退,查看版本记录,helm upgrade, helm rollback, helm hisotry
    helm upgrade --set service.nodePort=31312  gilded-mule stable/minio helm rollback  gilded-mule 1helm hisotry  gilded-mule 
  8. 删除
    helm delete $releaseNamehelm list --all
repository的使用
  1. 查看当前的仓库,helm repo list
  2. 在本机创建自己的仓库
    mkdir -p ~/my-reponohup helm serve --address 127.0.0.1:8879 --repo-path ~/my-repo &# 此时会在mys-repo下新建一个index.html文件
  3. 添加自己的仓库
    helm repo add my-repo http://127.0.0.1:8879
  4. 在自己仓库中添加包,更新index

    # 先去github上下载chartscp -r mysql  ~/my-repocd  ~/my-repohelm package mysql --save=false   helm repo index --url=http://127.0.0.1:8879 .    
  5. 更新仓库缓存,helm update
创建自己的charts
  1. 快速创建模板,helm create my-charts,修改对应内容
  2. 打包,然后拷贝至repository的目录,然后执行更新index操作. helm package
  3. 安装,helm install . 或 helm install my-charts.tgz
  4. 验证charts格式,helm lint
  5. 查看charts文件内容. helm inspect chart my-charts
  6. 查看value文件内容. helm inspect values my-charts
  7. 查看charts目录下文件内容. helm inspect my-charts
  8. 查看charts模板渲染后k8s的yaml,helm template my-charts -f configfile --set a=b

注意: 如果tiller的serviceaccount只有自己namespace的权限,那么charts中的namespaces也需要指定在tiller的namespaces中.

文件 仓库 内容 版本 目录 更新 参数 信息 关键 关键字 模板 状态 资源 过程 输出 配置 管理 三个 上下 之间 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 手磨咖啡 朗新科技与工业互联网 中国 科技 互联网 广西互联网科技公司 上海万想互联网科技 天速互联网络科技有限公司 剑昆互联网络科技有限公司临桂 银川新华互联网科技职业技术培训学校图片 互联网企业和科技型企业 河南猎农互联网科技有限公司 科技大学互联网 特约风豹互联网科技为什么扣费 南博望互联网科技有限公司 互联网第三次科技革命特征 神州科技互联网有限公司 上海同邻互联网科技有限公司规模 互联网科技和医药行业 互联网科技博主张洲 保山浩联互联网科技有限公司 武汉亿视互联网科技有限公司 科技平台互联网 深圳互联网科技公司 顺网科技2021年互联网排名 互联网科技创新企业排名 深圳市运趣互联网科技有限公司 济南华为互联网科技产业总部基地 上海京穆互联网科技有限公司 伍佰万互联网科技怎么赚钱 上海互联网科技公司ppt 唐山双旺合互联网科技产业园
0