首页 > 解决方案 > Helm 部署:在 Cloud SQL 中将 Kubernetes 连接到 Postgres DB

问题描述

所以我正在使用 helm 部署我的 spring boot 应用程序。我正在按照我们公司使用的预先存在的公式来尝试完成这项任务,但由于某种原因我无法做到。

我的postgresql-secrets.yml文件包含以下内容

apiVersion: v1
kind: Secret
metadata:
  name: {{ template "codes-chart.fullname" . }}-postgresql
  labels:
    app: {{ template "codes-chart.name" . }}
    release: {{ .Release.Name }}
    heritage: {{ .Release.Service }}
data:
  SPRING_DATASOURCE_URL: {{ .Values.secrets.springDatasourceUrl | b64enc }}
  SPRING_DATASOURCE_USERNAME: {{ .Values.secrets.springDatasourceUsername | b64enc}}
  SPRING_DATASOURCE_PASSWORD: {{ .Values.secrets.springDatasourcePassword | b64enc}}

这会获取 values.yaml 文件中的值

secrets:
   springDatasourceUrl: PLACEHOLDER
   springDatasourceUsername: PLACEHOLDER
   springDatasourcePassword: PLACEHOLDER

占位符在 helm 中使用环境中的变量覆盖被覆盖。

这些秘密envFrom:codes-deployment.yaml

          envFrom:
            - configMapRef:
              name: {{ template "codes-chart.fullname" . }}-application

            - secretRef:
              name: {{ template "codes-chart.fullname" . }}-postgresql

我的helm文件结构如下:

|helm
|-codes
|--configmaps
|---manifest
|----manifest-codes-configmap.yaml
|--templates
|---application-deploy-job.yaml
|---application-manifest-configmap.yaml
|---application-register-job.yaml
|---application-unregister-job.yaml
|---codes-application-configmap.yaml
|---codes-deployment.yaml
|---codes-hpa.yaml
|---codes-ingress.yaml
|---codes-service.yaml
|---postgresql-secret.yaml
|--values.yaml
|--Chart.yaml

问题似乎出在SPRING_DATASOURCE_URL:如果我使用 cloudsql db 的私有 ip,那么它说它不接受连接

如果我使用 jdbc url 格式:

前任:(jdbc:postgresql://google/<DATABASE_NAME>?cloudSqlInstance=<INSTANCE_CONNECTION_NAME>&socketFactory=com.google.cloud.sql.postgres.SocketFactory&user=<POSTGRESQL_USER_NAME>&password=<POSTGRESQL_USER_PASSWORD>)

然后我收到 403 身份验证错误。

我究竟做错了什么?

标签: postgresqlspring-bootkubernetesgoogle-cloud-sqlkubernetes-helm

解决方案


403 禁止:

服务器理解请求,但拒绝执行。权限不足的已验证用户的 403。

403 表示无法提供资源。这可能是因为已知没有任何级别的身份验证是足够的,但也可能是因为用户已经通过身份验证并且没有权限。

让我添加一些例子:

https://www.baeldung.com/kubernetes-helm

https://medium.com/zoom-techblog/from-zero-to-kubernetes-4fd354423e6a


推荐阅读