跳到正文
cyxc.club

DNSPod webhook 1.5.2 升到 1.5.3

/ 约 4 分钟

2026-09-15 16:40(CST)把 cert-manager-webhook-dnspod1.5.2 升到 1.5.3,Helm rev 4 → 5。cert-manager 控制器当天下午 16:32 已经是 v1.21.1。1.5.3 的 Go 依赖对齐 1.21.1,修 IDNA 域名 TXT 删不掉。

ClusterIssuer dnspod 是这份 chart 渲的。这趟重渲了 Issuer,形没变:groupName: acme.dnspod.com、三区 selector、ttl 600、Let’s Encrypt 账号 Secret 仍是 06-04 那份。不要 uninstall。

签发链见 cert-manager 怎么接 DNSPod。控制器那趟:cert-manager 1.20.2 升到 1.21.1

目录


要解决什么

读者读完应能分清:

  1. 官方停在 1.5.3。 Artifact Hub 上 ibytechaos/ivatin 的 1.5.4 是别人的 fork,不用。
  2. ClusterIssuer 跟 webhook chart 一起出。 upgrade 会重渲 dnspodprivateKeySecretRef 名字不变就不会换 Let’s Encrypt 账号。
  3. 覆盖只写改过的键。 Harbor 仓库、clusterIssuer.enabled / selector / 凭据。groupName、TTL、1.5.2 那个嵌套 cert-manager: 块和上游相同,没写。1.5.3 已删掉嵌套块。
  4. 凭据不要写进正文。 chart 模板 enabled 时仍 required secretId / secretKey,覆盖里有,ops 和画布没有。

升之前

release 名叫 cert-manager-webhook-dnspod,命名空间 cert-manager。1 副本。镜像走 Harbor:harbor.cyxc.club/dockerhub/imroc/cert-manager-webhook-dnspod

helm history(CST):

rev 何时 chart 说明
1 06-04 13:55 1.5.2 装上;ClusterIssuer dnspod 出现
2–3 06-04 14:02 / 14:20 仍是 1.5.2 当天连升两次,原因没记下
4 09-04 14:49 仍是 1.5.2 换裸机后原样 upgrade
5 09-15 16:40 1.5.3 这趟

09-04 那次不要写成已经吃过 1.5.3。


覆盖是增量

升之前把改过的键从 values.yaml 拆到 cert-manager-webhook-dnspod.yamlvalues.yaml 先还原成官方 1.5.2 原件,换包后再变成 1.5.3 原件。覆盖只写:

  • image.repository: harbor.cyxc.club/dockerhub/imroc/cert-manager-webhook-dnspod
  • clusterIssuer.enabled: true、三区 selector、凭据(从现网 helm values 抄)

jumpserver-cyxc-club.yaml 是测试 Certificate,不是覆盖,换包时留下。不要拿它去重签现网 jumpserver。


本地 chart 从 GitHub Pages 换

包在 /root/helm-chart/cert-manager-webhook-dnspod。这趟 helm repo update 是通的:

helm pull cert-manager-webhook-dnspod/cert-manager-webhook-dnspod --version 1.5.3

Chart.yamlversion: 1.5.3appVersion: 1.5.3。换包时 --exclude 覆盖和 jumpserver-cyxc-club.yaml。旧 1.5.2 当时备份在 /tmp/cert-manager-webhook-dnspod-1.5.2,不进 Git。

1.5.3 values.yaml 补了 replicaCount: 1,删了嵌套 cert-manager: 块。覆盖没写这两处,跟新默认走。


不要 –reuse-values

和控制器那趟一样。--reuse-values 会把旧 dump 的死键钉住,1.5.3 的 replicaCount 默认也进不来。覆盖是增量,凭据已经在覆盖里。

dry-run 渲出来:镜像 :1.5.3replicas: 1groupName: acme.dnspod.com、ttl 600、生产目录、privateKeySecretRef 仍是 cert-manager-webhook-dnspod-letsencrypt,才正式 upgrade。


2026-09-15 下午(CST)

时间 发生了什么
覆盖 values.yaml 还原上游;覆盖三处(Harbor / enabled+selector / 凭据)
换包 本地 chart 1.5.3,覆盖和测试 Certificate 还在
16:32 cert-manager rev 6 / v1.21.1(上一篇
16:40 webhook rev 5 / 1.5.3,--wait 约 21 秒

upgrade:

Terminal window
helm upgrade cert-manager-webhook-dnspod /root/helm-chart/cert-manager-webhook-dnspod \
-n cert-manager \
-f /root/helm-chart/cert-manager-webhook-dnspod/cert-manager-webhook-dnspod.yaml \
--wait --timeout 10m

镜像滚动时经 Harbor 代理拉,没有预推。ClusterIssuer dnspod 升前后 spec 逐项相同,仍 Ready=True / ACMEAccountRegistered。APIService v1alpha1.acme.dnspod.com 还是 06-04 那条(Available=True)。*-letsencrypt / *-secret / serving TLS 创建时间仍是 06-04,账号没换。24 张 Certificate 全 Ready=True。USER-SUPPLIED VALUES 只剩覆盖那些键。


升完那条 fsnotify

Pod 起来时打过一条 ERR:Failed to watch cert and key file ... too many open files,随后 Serving securely on [::]:443,cache 也 sync 了。APIService 仍 Available。文件监视会重试,不是签发链断了。