You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Bitnami PostgreSQL Helm Chart部署自定义镜像遇Pod未创建问题

问题:自定义Bitnami PostgreSQL镜像部署后Pod未创建及排查方法

我基于Bitnami Postgres镜像预填充数据后,构建了自定义Docker镜像,打标签并推送到私有镜像仓库。尝试通过Bitnami PostgreSQL Helm Chart部署该镜像后,服务已启动,但Pod未创建。使用helm install --debug查看发现仅创建4个资源,而使用默认镜像时会创建5个资源,推测缺失的就是Pod。

我的Chart.yaml配置

apiVersion: v2
name: test-db
description: A Helm chart for Kubernetes
type: application
version: "1.0-SNAPSHOT"
appVersion: "1.0-SNAPSHOT"
dependencies:
  - name: postgresql
    version: 11.9.13
    repository: https://charts.bitnami.com/bitnami
    condition: postgresql.enabled

我的values.yaml配置

postgresql:
  enabled: true
  image:
    registry: myregistry.com
    repository: test-db
    tag: "1.0-SNAPSHOT"
    pullPolicy: always
    pullSecrets:
      - my-reg-secret
  service:
    type: ClusterIP
  nameOverride: test-db

部署命令

helm dep up
helm install mydb .

除了--debug,还有哪些方法可以查看Helm/Kubectl的执行细节,排查Pod未创建的原因?

实用排查方法

  • 查看Helm发布状态:执行helm status mydb,获取发布的当前状态、资源清单和事件信息,确认是否有资源创建失败的提示。
  • 检查Kubernetes集群事件:用kubectl events查看集群内所有事件,若指定了命名空间则用kubectl events -n <namespace>,重点关注PostgreSQL相关的镜像拉取、Pod创建事件,大概率能找到Pod未创建的直接原因(如镜像拉取失败、拉取密钥无效、资源配额不足等)。
  • 渲染Helm模板对比:执行helm template mydb .输出Helm会生成的所有Kubernetes资源YAML,和使用默认镜像时的模板输出对比,确认Pod相关的资源定义是否存在,或是否因自定义配置导致模板未生成Pod资源。
  • 检查StatefulSet资源:Bitnami PostgreSQL Chart通常用StatefulSet管理Pod,执行kubectl get statefulsets查看对应资源是否存在;若存在,再用kubectl describe statefulset <statefulset-name>查看详细信息,包括事件、Pod模板配置,判断是否有阻碍Pod创建的问题。
  • 手动测试镜像拉取:创建临时Pod测试镜像是否能正常拉取启动:kubectl run test-pod --image=myregistry.com/test-db:1.0-SNAPSHOT --image-pull-secrets=my-reg-secret --rm -it -- /bin/bash,验证镜像可用性和拉取密钥有效性。
  • 检查Helm依赖完整性:重新执行helm dep up --verbose,查看依赖下载过程是否有异常,确保Bitnami PostgreSQL Chart的所有模板文件都正确下载到本地charts目录中。

内容的提问来源于stack exchange,提问作者Mark

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 06:45:35