我如何判断导致 Helm Chart 部署失败的原因?

How can I tell what causes a helm chart deployment to fail?

如果 Helm 部署的状态是 failed,我该怎么做才能确定失败的原因?

将以下参数附加到 helm install 命令以验证语法和命令

--dry-run --debug

如果命令有效,则继续 运行 跳过上述参数。

由于以下 3 个原因,Helm chart 部署可能会失败。

  1. 图表不正确
  2. 部署配置不正确。
  3. 由于某些问题(镜像拉取问题、资源配额)导致容器和服务调度出现问题

可以通过以下步骤进行调试。

图表正确性检查

在本地使用 helm lint 检查图表的正确性

helm lint PATH [flags] Ref: https://helm.sh/docs/helm/helm_lint/

部署配置正确性检查

使用标志 --dry-运行 --debug

检查建议部署配置的正确性

helm install <ChartName> --dry-run --debug

Kubernetes 集群部署问题检查

要检查是否由于镜像拉取失败导致容器创建失败或pods由于资源 c运行ch 而未被安排等问题,请执行以下诊断。

如果您的部署正在特定命名空间中部署,请在每个命令中添加命名空间标志(append -n )。 留意与您的掌舵图相关的项目。

kubectl get deployment

kubectl describe deployment <deployment_id_found_in_previos_step>

kubectl get rs

kubectl describe rs <resource_set_id_found_in_previos_step>

kubectl get pods

kubectl describe pods <pod_id_found_in_previos_step>

查看上述每个命令的输出。

helm history <chartname>

显示尝试部署该图表的 kubernetes 错误。