当前位置: 首页 > news >正文

Helm常用命令大全(2025最新版)

文章目录

  • Helm常用命令大全(2025最新版)
    • 一、基础命令与环境配置
      • 版本与帮助信息
      • 安装与升级Helm
        • Linux系统安装
        • 版本升级注意事项
    • 二、仓库管理命令
      • 仓库基础操作
      • OCI仓库支持(v3.8+新特性)
    • 三、Chart操作命令
      • Chart创建与打包
      • Chart搜索与下载
    • 四、Release管理核心命令
      • 安装部署应用
      • 升级与回滚
      • 卸载与暂停
    • 五、配置管理与自定义
      • 配置覆盖优先级
      • 配置校验与调试
    • 六、状态查看与问题排查
      • 基础状态查询
      • 高级问题排查
    • 七、高级功能与安全加固
      • Chart签名与验证
      • 依赖管理
      • 性能优化命令
    • 八、命令行变更与兼容说明
    • 九、常见问题解决

Helm常用命令大全(2025最新版)

一、基础命令与环境配置

版本与帮助信息

Helm 3.18.1作为2025年最新稳定版,提供以下基础命令用于环境验证和帮助查询:

命令描述示例
helm version查看Helm客户端版本helm version --short 返回 v3.18.1+g1234567
helm help获取命令帮助helm help install 查看安装命令详情
helm completion bash生成Bash自动补全脚本source <(helm completion bash) 启用实时补全

安装与升级Helm

Linux系统安装
# 下载v3.18.1二进制包
curl -LO https://get.helm.sh/helm-v3.18.1-linux-amd64.tar.gz
# 校验文件完整性(示例SHA256需替换为官网值)
echo "2be99836549413c2f0212d644e8740abd8ba5d7f55484c29d3363cea339891d9 helm-v3.18.1-linux-amd64.tar.gz" | sha256sum -c
# 解压并安装
tar -zxvf helm-v3.18.1-linux-amd64.tar.gz
sudo mv linux-amd64/helm /usr/local/bin/
版本升级注意事项
  • 备份配置:升级前执行 cp ~/.config/helm/ ~/.config/helm.bak/
  • 性能分析:v3.18.0+支持CPU/内存Profiling,可通过 export HELM_PPROF=localhost:6060 启用

二、仓库管理命令

Helm 3采用分布式仓库模型,需手动添加仓库源。国内常用仓库配置如下:

仓库基础操作

命令描述示例
helm repo add添加仓库helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update更新仓库索引helm repo update(建议每次安装前执行)
helm repo list查看仓库列表helm repo list 显示所有已配置仓库
helm repo remove删除仓库helm repo remove stable

OCI仓库支持(v3.8+新特性)

Helm 3支持直接使用容器镜像仓库存储Charts(如Harbor、Docker Hub):

# 添加OCI仓库
helm repo add oci://harbor.example.com/chartrepo --username admin --password Harbor12345
# 推送Chart到OCI仓库
helm push mychart-0.1.0.tgz oci://harbor.example.com/chartrepo

三、Chart操作命令

Chart创建与打包

命令描述示例
helm create创建新Charthelm create myapp 生成标准Chart目录结构
helm package打包Charthelm package myapp --version 1.0.0 --app-version 2.3.4
helm lint校验Chart合法性helm lint myapp --strict 启用严格模式检查

安全提示:v3.17.3+的helm lint新增安全策略检查,可检测常见配置风险

Chart搜索与下载

# 从Artifact Hub搜索Chart
helm search hub mysql --version ">=8.0.0"
# 从已添加仓库搜索
helm search repo bitnami/mysql --versions
# 下载Chart到本地
helm pull bitnami/mysql --version 9.14.0 --untar

四、Release管理核心命令

安装部署应用

# 基础安装(指定release名称和命名空间)
helm install my-mysql bitnami/mysql --namespace db --create-namespace# 自定义配置安装
helm install my-nginx bitnami/nginx \--set service.type=NodePort \--set replicaCount=3 \-f production-values.yaml# 自动生成release名称
helm install --generate-name bitnami/redis

升级与回滚

命令描述示例
helm upgrade升级Releasehelm upgrade my-app ./mychart --atomic --timeout 10m
helm rollback回滚版本helm rollback my-app 2(回滚到版本2)
helm history查看历史记录helm history my-app --max 10

高级参数helm upgrade --history-max 10 限制保留历史版本数量,优化存储

卸载与暂停

# 完全卸载Release
helm uninstall my-app --namespace default# 仅暂停Release(保留资源)
helm uninstall my-app --keep-history

五、配置管理与自定义

配置覆盖优先级

Helm配置覆盖顺序:--set > 命令行文件 > 默认values.yaml:

# 多值文件合并(后者覆盖前者)
helm install my-app ./chart -f base.yaml -f prod.yaml# 使用--set覆盖嵌套配置
helm install my-app ./chart --set image.tag=v2.1.0 --set ingress.enabled=true

配置校验与调试

v3.18.0引入JSON Schema 2020支持,可通过以下命令验证配置:

# 本地渲染模板并验证
helm template my-app ./chart -f values.yaml --validate# 生成values.schema.json(高级功能)
helm schema-gen values.yaml > values.schema.json

六、状态查看与问题排查

基础状态查询

命令描述示例
helm status查看Release状态helm status my-app 显示详细部署信息
helm list列出Releasehelm list -n default 查看指定命名空间的Release
helm get manifest获取渲染后的YAMLhelm get manifest my-app > deployed.yaml

高级问题排查

  1. 查看-values配置helm get values my-app -o yaml

  2. 检查事件日志kubectl describe pod/my-app-xxx(结合Helm状态中的Pod名称)

  3. Hook失败调试:v3.18.0+支持自动输出Hook失败日志,无需额外命令

  4. 安装差异对比:使用helm diff插件(需先安装 helm plugin install https://github.com/databus23/helm-diff):

    helm diff upgrade my-app ./chart --ignore-annotations
    

七、高级功能与安全加固

Chart签名与验证

为防止供应链攻击,Helm支持Chart签名验证:

# 生成GPG密钥
gpg --gen-key
# 签名Chart包
helm package --sign --key 'my-gpg-key' --keyring ~/.gnupg/secring.gpg mychart
# 验证Chart
helm verify mychart-0.1.0.tgz --keyring ~/.gnupg/pubring.gpg

依赖管理

Chart依赖通过Chart.yaml声明,可通过以下命令管理:

# 更新依赖到charts/目录
helm dependency update mychart
# 查看依赖树
helm dependency list mychart

性能优化命令

v3.18.0新增Profiling功能,可用于诊断大型Chart性能问题:

# 启用CPU Profiling安装Chart
helm install my-app ./large-chart --cpu-profile
# 生成内存Profile报告
helm install my-app ./large-chart --mem-profile

八、命令行变更与兼容说明

Helm 3相比Helm 2有显著命令行变化,以下为常用命令映射:

Helm 2命令Helm 3命令备注
helm deletehelm uninstall卸载Release
helm inspecthelm show查看Chart详情(如 helm show values
helm fetchhelm pull下载Chart到本地
helm serve移除改用外部仓库服务(如ChartMuseum)

注意:Helm 3 Release名称仅在命名空间内唯一,不同命名空间可重复使用相同名称

九、常见问题解决

  1. Chart验证失败

    helm lint ./mychart --strict  # 严格模式检查语法错误
    helm template ./mychart | kubectl apply --dry-run=client -f -  # 验证Kubernetes兼容性
    
  2. 升级超时错误

    helm upgrade my-app ./chart --timeout 15m --atomic  # 延长超时并启用原子操作
    
  3. 修复依赖冲突

    rm -rf charts/  # 删除现有依赖
    helm dependency update ./mychart  # 重新拉取依赖
    

通过上述命令集,可全面覆盖Helm 3.18.x的日常使用场景,从基础部署到高级安全加固。建议定期执行helm repo update保持Chart索引最新,并关注Helm官方博客获取版本更新信息。

http://www.lryc.cn/news/593151.html

相关文章:

  • 教育科技内容平台的破局之路:从组织困境到 UGC 生态的构建
  • ARINC818协议综述
  • 《全栈博客系统的技术肌理:从接口构建到体验升维的实践路径》
  • XSS的反射型、DOM型、存储型漏洞
  • TCP/UDP协议深度解析(四):TCP的粘包问题以及异常情况处理
  • 100条常用SQL语句
  • 【人工智能】AI Agent 实战:使用 Dify 搭建个人在线旅游助手
  • 多模态交互视角下生成式人工智能在中小学探究式学习中的认知支架效能研究
  • python基础笔记
  • Spring Boot 与微服务详细总结
  • 【黑马SpringCloud微服务开发与实战】(三)微服务01
  • 软考 系统架构设计师系列知识点之杂项集萃(112)
  • Go-Redis × 向量检索实战用 HNSW 在 Redis 中索引与查询文本 Embedding(Hash JSON 双版本)
  • 微服务的编程测评系统-网关-身份认证-redis-jwt
  • 【C# in .NET】20. 探秘静态类:抽象与密封的结合体
  • 【安卓笔记】RxJava的Hook机制,整体拦截器
  • Kotlin内联函数
  • kotlin部分常用特性总结
  • Window延迟更新10000天配置方案
  • 【设计模式C#】状态模式(用于解决解耦多种状态之间的交互)
  • 使用目标检测yolo11去训练微藻细胞检测数据集YOLO格式703张6类别步骤和流程
  • 云端成本治理利器:亚马逊云科技智能仪表盘(AWS Cost Intelligence Dashboard)深度解析
  • Java 大视界 -- Java 大数据机器学习模型在自然语言处理中的对话系统多轮交互优化与用户体验提升(351)
  • 前端面试专栏-工程化:27.工程化实践(CI/CD、代码规范)
  • NLP中情感分析如何结合知识图谱在跨文化领域提升观念分析和价值判断的准确性?
  • 基于Socket来构建无界数据流并通过Flink框架进行处理
  • xss-dom漏洞
  • 力扣 hot100 Day49
  • 【Python练习】050. 编写一个函数,实现简单的日历功能,显示当前日期和星期
  • Uniapp之键盘弹窗