helm常用命令

helm常用命令

针对Kubernetes的Helm包管理器。

官方文档:https://helm.sh/zh/docs/helm/helm/

简介

Kubernetes包管理器,Helm的一般操作:

  • helm search:搜索chart
  • helm pull:下载chart到本地目录查看
  • helm install:上传chart到Kubernetes
  • helm list:列出已发布的chart

环境变量:

名称 描述
$HELM_CACHE_HOME 设置一个存储缓存文件的可选位置
$HELM_CONFIG_HOME 设置一个存储Helm配置的可选位置
$HELM_DATA_HOME 设置一个存储Helm数据的可选位置
$HELM_DEBUG 表示Helm是否在Debug模式运行
$HELM_DRIVER 设置后台存储驱动,可选值包括:configmap, secret, memory, sql
$HELM_DRIVER_SQL_CONNECTION_STRING 设置SQL存储驱动使用连接字符串
$HELM_MAX_HISTORY 设置发布历史记录的最大值
$HELM_NAMESPACE 设置用于helm操作的命名空间
$HELM_NO_PLUGINS 禁用插件,HELM_NO_PLUGINS=1表示禁用插件
$HELM_PLUGINS 设置插件目录路径
$HELM_REGISTRY_CONFIG 设置注册配置文件的路径
$HELM_REPOSITORY_CACHE 设置仓库缓存目录路径
$HELM_REPOSITORY_CONFIG 设置仓库文件的路径
$KUBECONFIG 设置Kubernetes的可选配置文件(默认是"~/.kube/config")
$HELM_KUBEAPISERVER 设置用于身份认证的Kubernetes API服务端
$HELM_KUBECAFILE 设置Kubernetes证书机构文件
$HELM_KUBEASGROUPS 使用逗号分隔的列表设置用于模拟的组
$HELM_KUBEASUSER 为操作设置要模拟的用户名
$HELM_KUBECONTEXT 设置kubeconfig上下文的名称
$HELM_KUBETOKEN 设置用于身份验证的不记名KubeToken
$HELM_KUBEINSECURE_SKIP_TLS_VERIFY 设置 Kubernetes API 服务的证书验证是否跳过(不安全)
$HELM_KUBETLS_SERVER_NAME 设置用于验证 Kubernetes API 服务器证书的服务器名称
$HELM_BURST_LIMIT 设置当 Kubernetes 服务包含很大量CRD时的默认上限值(默认100, -1是不可用)

Helm 基于以下配置顺序存储缓存,配置和添加数据:

  • 如果设置了 $HELM_*_HOME 环境变量,则使用该变量
  • 否则,在支持XDG基本目录规范的系统上,会使用XDG变量
  • 当没有设置其他位置时,将根据操作系统使用默认位置

默认情况下,默认目录取决于操作系统,默认值如下:

操作系统 缓存路径 配置路径 数据路径
Linux $HOME/.cache/helm $HOME/.config/helm $HOME/.local/share/helm
macOS $HOME/Library/Caches/helm $HOME/Library/Preferences/helm $HOME/Library/helm
Windows %TEMP%\helm %APPDATA%\helm %APPDATA%\helm

可选项

- `--burst-limit int`:客户端默认限制值(默认100)
- `--debug`:启用详细输出
- `-h, --help`:显示帮助信息
- `--kube-apiserver string`:Kubernetes API服务器的地址和端口
- `--kube-as-group stringArray`:用于操作的组,可以多次指定
- `--kube-as-user string`:用于操作的用户名
- `--kube-ca-file string`:Kubernetes API服务器连接的证书机构文件
- `--kube-context string`:kubeconfig上下文的名称
- `--kube-insecure-skip-tls-verify`:如果为true,将不检查Kubernetes API服务器的证书有效性。这将使HTTPS连接不安全
- `--kube-tls-server-name string`:用于Kubernetes API服务器证书验证的服务器名称。如果未提供,将使用联系服务器时的主机名
- `--kube-token string`:用于身份验证的不记名token
- `--kubeconfig string`:kubeconfig文件的路径
- `-n, --namespace string`:请求的命名空间范围
- `--registry-config string`:注册配置文件的路径(默认"~/.config/helm/registry/config.json")
- `--repository-cache string`:包含缓存仓库索引的文件路径(默认"~/.cache/helm/repository")
- `--repository-config string`:包含仓库名称和URL的文件路径(默认"~/.config/helm/repositories.yaml")

另请参阅

常用命令

  1. 搜索官方helm hub chart库

helm search hub nginx

  1. 添加第三方chart库
helm repo add azure http://mirror.azure.cn/kubernetes/charts/    
helm repo add aliyun  https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts 
helm repo add bitnami https://charts.bitnami.com/bitnami
  1. 查看仓库列表

helm repo list

  1. 删除仓库

Helm repo remove azure

  1. 从添加的repo仓库中查找

helm search repo nginx

  1. 拉取chart包,helm pull chartrepo/chartname

helm pull bitnami/nginx --version 13.2.34

  1. 校验打包

helm lint --strict xxx

  1. 基于chart目录进行打包

helm package ./mychart/

  1. 安装Chart示例
helm repo update
helm install bitnami/mysql --generate-name
  1. 查看chart信息
helm show chart bitnami/mysql  #命令简单的了解到这个chart的基本信息。
helm show all bitnami/mysql       #获取关于该chart的所有信息
  1. 打印releases

helm list

备注:区分namespace

  1. 卸载一个版本

helm uninstall mysql-1612624192

该命令会从Kubernetes卸载mysql-1612624192, 它将删除和该版本相关的所有相关资源(service、deployment、 pod等等)甚至版本历史。
如果您在执行helm uninstall的时候提供--keep-history选项, Helm将会保存版本历史。 您可以通过命令(helm status)查看该版本的信息。
--keep-history选项会让helm跟踪你的版本(即使你卸载了他们), 所以你可以审计集群历史甚至使用helm rollback回滚版本。

  1. 查看chart 中的可配置选项

使用helm show values <chart>可以查看 chart 中的可配置选项:

  1. helm install 命令可以从多个来源进行安装:
  • chart 的仓库
  • 本地 chart 压缩包:helm install foo foo-0.1.1.tgz
  • 解压后的 chart 目录: helm install foo path/to/foo
  • 完整的 URL: helm install foo https://example.com/charts/foo-1.2.3.tgz
  1. 测试chart而不是部署

当你想测试模板渲染的内容但又不想安装任何实际应用时,可以使用helm install --debug --dry-run goodly-guppy ./mychart。这样不会安装应用(chart)到你的kubenetes集群中,只会渲染模板内容到控制台(用于测试)。

posted @   lldhsds  阅读(205)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
点击右上角即可分享
微信分享提示