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

如何配置Keycloak Helm Chart使用Google Cloud Postgres等外部数据库?

GKE部署Keycloak Helm对接Cloud PostgreSQL操作步骤

1. 前置准备

  • 已创建可用的Google Cloud PostgreSQL实例,完成VPC网络配置,确保GKE集群可访问该实例
  • 提前在PostgreSQL实例中创建独立的keycloak数据库,以及仅拥有该库读写权限的专用账号
  • 本地环境已安装helm、kubectl工具,且已配置好目标GKE集群的访问上下文
  • 若使用Cloud SQL Auth Proxy方式连接,需提前为GKE工作负载服务账号绑定roles/cloudsql.client权限

2. 编写自定义配置文件values.yaml

禁用Helm Chart内置的PostgreSQL实例,配置外部Cloud PostgreSQL连接参数:

# 关闭内置PostgreSQL
postgresql:
  enabled: false

# 外部数据库配置
externalDatabase:
  vendor: "postgres"
  host: "Cloud PostgreSQL内网连接地址"
  port: 5432
  database: "keycloak"
  user: "Keycloak专用数据库账号"
  password: "Keycloak专用数据库密码"
  # 生产环境建议用Secret存储密码,替换上面的password参数:
  # existingSecret: "你创建的存储数据库密码的Secret名称"

# 可选:启用Cloud SQL Auth Proxy(无需配置数据库白名单,安全性更高)
extraContainers:
  - name: cloud-sql-proxy
    image: gcr.io/cloud-sql-connectors/cloud-sql-proxy:2.11.4
    args:
      - "--port=5432"
      - "你的Cloud SQL实例连接名(格式:项目ID:区域:实例ID)"
    securityContext:
      runAsNonRoot: true

生产环境禁止在values.yaml中明文填写密码,需提前创建Kubernetes Secret存储敏感信息,通过existingSecret参数引用。

3. 执行Helm部署

运行以下命令完成Keycloak部署:

# 添加Bitnami Helm仓库并更新索引
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update

# 部署Keycloak到keycloak命名空间
helm install keycloak bitnami/keycloak -f values.yaml -n keycloak --create-namespace

4. 部署验证

  • 执行kubectl get pods -n keycloak,确认Keycloak Pod状态为Running
  • 访问Keycloak管理员控制台,创建测试配置后重启Pod,验证配置是否正常持久化到外部数据库
  • 查看Cloud PostgreSQL实例的连接日志,确认Keycloak的连接请求正常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 01:24:03