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

osixia/openldap Helm Chart配置TLS证书及挂载不生效问题咨询

问题根因

配置不生效是几个常见配置错误共同导致的:

  1. 同时配置了customTLS和tls两个TLS配置段,不同版本的openldap Helm Chart仅支持其中一组参数,同时配置会触发参数冲突,导致证书配置未被正确读取
  2. 注释了LDAP_TLS_CRT_FILENAME、LDAP_TLS_KEY_FILENAME、LDAP_TLS_CA_CRT_FILENAME三个环境变量,osixia/openldap容器默认会找ldap.crt、ldap.key作为证书文件,而cert-manager生成的Kubernetes TLS Secret默认的证书key是tls.crt、tls.key,文件名不匹配导致容器无法识别你提供的证书
  3. 手动配置的hostPath挂载与Chart自动生成的证书挂载逻辑冲突,且Windows本地路径在k3s集群中存在路径映射问题,反而导致证书目录被覆盖
  4. 重复定义了LDAP_BASE_DN参数,可能引发环境变量读取异常
  5. 若之前已经启动过服务,持久化卷中已经留存了自动生成的自签证书,再次启动时会复用旧数据不会重新读取配置

修正方案

1. 清理旧部署残留

先卸载现有部署并清理持久化卷数据,避免旧证书残留影响:

helm uninstall <你的openldap release名称>
kubectl delete pvc -l app.kubernetes.io/name=openldap

2. 修正values.yaml配置

调整后的核心配置段如下,其余配置保持不变即可:

# 仅保留customTLS配置段,删除额外的tls配置段
customTLS:
  enabled: true
  secret: "blaklabz-io-tls"  # 你的cert-manager生成的tls类型secret名称
  CA:
    enabled: true
    secret: "<你的CA证书所在generic secret名称>"  # 确保该secret中存在ca.crt的key

# 删除原有的extraVolumes、extraVolumeMounts配置段,Chart开启customTLS后会自动挂载证书

env:
  LDAP_ORGANISATION: "Blaklabz"
  LDAP_DOMAIN: "blaklabz.io"
  LDAP_BACKEND: "hdb"
  LDAP_REQCERT: "allow"
  LDAP_BASE_DN: "dc=blaklabz,dc=io" # 删掉重复的定义,仅保留一行
  # 取消这三个变量的注释,和secret中的证书key对应
  LDAP_TLS_CRT_FILENAME: "tls.crt"
  LDAP_TLS_KEY_FILENAME: "tls.key"
  LDAP_TLS_CA_CRT_FILENAME: "ca.crt"
  LDAP_TLS_ENFORCE: "false"
  LDAP_TLS_VERIFY_CLIENT: "never"

3. 重新部署

用修正后的values重新安装服务:

helm install <你的release名称> <openldap chart源> -f values.yaml

验证方法

部署完成后进入Pod检查证书:

kubectl exec -it <openldap pod名> -- bash
ls /container/run/service/slapd/assets/certs/
# 查看证书内容确认是你自己的通配符证书,不是自动生成的自签证书
openssl x509 -in /container/run/service/slapd/assets/certs/tls.crt -text -noout

用ldaps协议测试连通性即可确认配置生效。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 10:39:04