Как построить URL-адрес соединения для Google Cloud SQL Postgresql Instance - PullRequest
1 голос
/ 23 апреля 2019

Я хочу подключить свое приложение к управляемому экземпляру postgresql в облаке Google SQL. Приложение будет развернуто через GKE. Обычно я подключаюсь через строку подключения:

Например: postgres://<user>:<password>@<my-postgres-host>:5432"

Но документация гласит:

  1. Создать секрет для предоставления имени пользователя и пароля PostgreSQL для базы данных.

  2. Обновите файл конфигурации вашего модуля со следующими элементами:

    • Укажите частный IP-адрес экземпляра Cloud SQL в качестве адреса хоста, который ваше приложение будет использовать для доступа к вашей базе данных.
    • Укажите ранее созданный секрет, чтобы приложение могло войти в базу данных.
  3. Поднимите развертывание, используя файл манифеста Kubernetes.

Я могу выполнить шаги 1 и 3, но не могу выполнить шаг 2. Должен ли URL-адрес подключения быть просто: postgres://<PRIVATE_ID>:5432, и я добавляю переменные ENV POSTGRES_USER и POSTGRES_PASSWORD через секрет?

Есть ли примеры, которые я могу посмотреть?

Результат: Я хотел бы получить URL-адрес соединения для postgresql, размещенного в облаке Google sql.

Заранее спасибо!

1 Ответ

2 голосов
/ 23 апреля 2019

Вы можете найти пример файла postgres_deployment.yaml для развертывания с помощью kubernetes.Пример пользователей прокси, но раздел конфигурации базы данных не меняется для частного IP.Для частного IP не используйте раздел [proxy_container]

Это раздел, указанный в документации, который вы ищете: раздел переменных базы данных и секретов.

          # The following environment variables will contain the database host,
          # user and password to connect to the PostgreSQL instance.
          env:
            - name: POSTGRES_DB_HOST
              value: 127.0.0.1:5432
            # [START cloudsql_secrets]
            - name: POSTGRES_DB_USER
              valueFrom:
                secretKeyRef:
                  name: cloudsql-db-credentials
                  key: username
            - name: POSTGRES_DB_PASSWORD
              valueFrom:
                secretKeyRef:
                  name: cloudsql-db-credentials
                  key: password
            # [END cloudsql_secrets]
...