使用Bitnami Charts部署Redis遇Argo CD TLS握手失败求助
解决Bitnami Redis Chart部署的TLS握手失败问题
针对你遇到的remote error: tls: handshake failure错误,结合手动操作正常的情况,问题大概率出在部署工具(如Argo CD、Flux等)的TLS/网络配置上,而非集群本身。以下是具体解决方案:
1. 检查部署工具的根CA证书配置
部署工具的运行容器可能未包含验证Bitnami HTTPS证书所需的根CA,导致握手失败。解决方式:
- 给部署工具的Pod挂载集群节点的系统CA证书:
以Argo CD的repo-server为例,修改其Deployment配置,添加节点CA挂载:spec: containers: - name: argocd-repo-server volumeMounts: - name: ca-certs mountPath: /etc/ssl/certs/ca-certificates.crt subPath: ca-certificates.crt volumes: - name: ca-certs hostPath: path: /etc/ssl/certs/ca-certificates.crt type: File - 若环境有自定义CA,需将其添加到部署工具容器的信任存储中(如
/usr/local/share/ca-certificates/并执行update-ca-certificates)。
2. 验证部署工具的代理配置
若环境使用代理,需确保:
- 部署工具已正确设置
HTTP_PROXY、HTTPS_PROXY环境变量; - 代理的CA证书已被部署工具信任(参考上述CA配置步骤);
- 排除Bitnami仓库域名的代理(若适用),设置
NO_PROXY=charts.bitnami.com。
3. 临时跳过TLS验证(仅紧急场景使用)
在部署工具执行Helm命令时,添加--insecure-skip-tls-verify参数跳过证书验证:
helm dependency build --insecure-skip-tls-verify
⚠️ 注意:此方法会降低安全性,仅用于临时排查或内部可信环境。
4. 升级部署工具镜像版本
旧版本的Helm或CD工具镜像(如基于旧Golang版本)可能不支持Bitnami服务器要求的现代TLS协议(如TLS 1.2+):
- 将Helm版本升级至3.12及以上;
- 将CD工具(如Argo CD、Flux)升级至最新稳定版。
5. 改用内部Helm仓库预存依赖
既然手动操作正常,可将Redis Chart包预下载后上传至集群内部仓库:
- 手动下载Chart包:
wget https://charts.bitnami.com/bitnami/redis-17.11.7.tgz - 将包上传至内部Helm仓库(如Harbor、Nexus);
- 修改你的Chart依赖配置(
Chart.yaml或requirements.yaml),将仓库地址指向内部仓库。
内容的提问来源于stack exchange,提问作者Irkham 11
相关产品推荐
相关产品推荐

