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

使用Helm在K8s部署Artifactory商业版遇Postgres密码报错求助

问题根因定位
  • 开源版artifactory-oss Helm Chart默认未启用外置PostgreSQL依赖,直接使用内置嵌入式Derby数据库运行,因此不会出现PostgreSQL连接校验失败问题。
  • 商业版artifactory Chart默认会自动部署随附的PostgreSQL StatefulSet,首次安装未显式指定PostgreSQL密码时,Chart会自动生成随机密码存储在Secret中,触发密码异常的常见原因有两类:
    1. 此前部署过同名Artifactory实例,残留的PostgreSQL PVC中存储的旧密码与新生成的Secret密码不匹配
    2. minikube环境下Secret自动生成时存在特殊字符转义问题,导致实际生效的密码与Secret中存储的预期值不符
解决方案

方案1:无历史数据的全新部署(推荐适配测试体验场景)

  1. 先清理现有残留资源,执行命令:
helm uninstall artifactory
kubectl delete pvc -l app=postgresql,release=artifactory
kubectl delete secret artifactory-postgresql
  1. 显式指定密码重新安装,避免自动生成密码的异常问题:
helm install artifactory jfrog/artifactory \
  --set postgresql.postgresqlPassword=自定义普通用户密码 \
  --set postgresql.postgresPassword=自定义超级管理员密码 \
  --set artifactory.database.password=和上面postgresqlPassword一致的密码

方案2:保留现有部署修正密码

如果需要保留当前部署的已有数据,可直接重置PostgreSQL密码并同步Secret:

  1. 进入PostgreSQL容器重置密码:
kubectl exec -it artifactory-postgresql-0 -- bash
psql -U postgres
# 重置postgres超级用户密码
ALTER USER postgres PASSWORD '你设置的密码';
# 重置artifactory业务用户密码
ALTER USER artifactory PASSWORD '你设置的密码';
  1. 同步更新对应Secret中的密码字段,Secret存储的密码值需要为base64编码结果:
# 生成base64编码值
echo -n '你设置的密码' | base64
# 编辑Secret替换对应字段的编码值
kubectl edit secret artifactory-postgresql
  1. 重启相关Pod加载新凭证:
kubectl rollout restart statefulset artifactory
kubectl rollout restart statefulset artifactory-postgresql
补充注意事项
  • Helm 3版本已废弃-name/--name参数,安装命令直接将实例名放在chart参数前即可,正确格式为helm install artifactory jfrog/artifactory,避免参数不匹配导致的配置加载异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 00:54:03