Helm 深入研究

概念

Helm 帮助您管理 Kubernetes 应用—— Helm Chart,即使是最复杂的 Kubernetes 应用程序,都可以帮助您定义,安装和升级。

实践

查看 Helm values

[root@master-165 kaiyi]# helm show values bitnami/wordpress
# Copyright VMware, Inc.
# SPDX-License-Identifier: APACHE-2.0

## @section Global parameters
## Global Docker image parameters
## Please, note that this will override the image parameters, including dependencies, configured to use the global value
## Current available global Docker image parameters: imageRegistry, imagePullSecrets and storageClass
##

## @param global.imageRegistry Global Docker image registry
## @param global.imagePullSecrets Global Docker registry secret names as an array
## @param global.storageClass Global StorageClass for Persistent Volume(s)
##
global:
  imageRegistry: ""
  ## E.g.
  ## imagePullSecrets:
  ##   - myRegistryKeySecretName
  ##
  imagePullSecrets: []
  storageClass: ""

...

helm debug

helm可以打印详细的部署报错信息吗?如下报错信息不够详细,不好排查问题:

helm install demo-gateway-v2 /data/dehua/demo-gateway --namespace=demo-middleware \
 --set image.tag=v1.1.0 --set db.port=3306 --set db.demo.user=demo \
--set db.engine.password=123 

Error: unable to build kubernetes objects from release manifest: error validating "": error validating data: ValidationError(ConfigMap): unknown field "name" in io.k8s.api.core.v1.ConfigMap

是的,Helm可以打印详细的部署报错信息。通过添加 --debug--dry-run 参数,可以执行一次模拟安装,并输出详细的错误信息。

例如:

helm install demo-gateway-v2 /data/dehua/demo-gateway --namespace=demo-middleware \
 --set image.tag=v1.1.0 --set db.port=3306 --set db.demo.user=demo \
--set db.demo.password=123 \
--debug --dry-run

通过在命令末尾添加 --debug --dry-run 参数,可以看到 Helm 执行的详细过程以及错误信息。

如果您已经执行了 helm install 命令,可以使用 helm list 命令查看已安装的 Chart 信息,然后使用 helm get manifest RELEASE_NAME 查看 Chart 的详细配置,以便更好地排查问题。

例如:

helm list -n demo-middleware

可以查看已经安装的 Chart 列表,然后:

helm get manifest demo-gateway-v2 -n demo-middleware

可以查看指定 Chart 的详细配置,并排查问题。


相关文章:
https://helm.sh/zh/docs/
玩转 Helm 之 upgrade
Helm 常用命令(chart 安装、升级、回滚、卸载等操作)

为者常成,行者常至