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

DigitalOcean Kubernetes 如何添加CA证书到Secret连接托管数据库

你当前的Secret写法不正确,具体问题和修改方案如下:

存在的核心问题

  • kubernetes.io/tls类型的Secret标准必填字段为tls.crt和tls.key,没有默认的.tls.ca字段,要么去掉字段开头的点改为tls.ca,要么直接使用兼容性更高的Opaque类型自定义CA证书的字段名。
  • data字段下的base64编码内容不能包裹引号,否则挂载到Pod后证书内容会额外携带引号,导致验证失败。
  • 若不想手动对证书做base64编码,可以直接用stringData字段替换data,直接写入证书原文即可,Kubernetes会自动完成编码。

正确写法参考

方案1:Opaque类型自定义字段(适配托管数据库连接场景的最优选择)

apiVersion: v1
kind: Secret
metadata:
  name: secret-db-ca
type: Opaque
data:
  # 直接填写.cer文件的base64编码结果,不需要加引号
  db-ca.cer: <base64 encoded ~/.digitalocean-db.cer>

方案2:保留TLS类型Secret写法

apiVersion: v1
kind: Secret
metadata:
  name: secret-db-ca
type: kubernetes.io/tls
data:
  # TLS类型必填的两个字段,若无客户端证书可填空白内容的base64编码值Ig==
  tls.crt: Ig==
  tls.key: Ig==
  tls.ca: <base64 encoded ~/.digitalocean-db.cer>

方案3:stringData免手动编码写法

apiVersion: v1
kind: Secret
metadata:
  name: secret-db-ca
type: Opaque
stringData:
  db-ca.cer: |
    -----BEGIN CERTIFICATE-----
    直接粘贴.cer文件的全文内容即可
    -----END CERTIFICATE-----

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 06:57:05