У меня есть docker-образ Apache Superset, работающий в Google Cloud Run. Я настроил его на использование нашего хоста Cloud SQL для его метаданных DB. Из-за того, как вы подключаете Cloud Run к Cloud SQL, для подключения потребовалось использовать строку подключения в стиле unix-сокета в SQL Alchemy (согласно инструкциям)здесь.). В качестве БД используется Postgres (хотя я сомневаюсь, что это имеет значение).
Я был собой вполне доволен (поскольку мои познания в Docker/Cloud Run невелики), и все работало хорошо, но затем я решил добавить некоторые источники данных. Конечно, диалоговое окно конфигурации для информации о подключении к БД позволяет вам ввести ТОЛЬКО хост и IP:
Очень обидно зайти так далеко и быть заблокированным ограничением пользовательского интерфейса. Хост, к которому я хочу подключиться, — это ТОТ ЖЕ ХОСТ, который он использует для своей базы метаданных — так что ясно, что он МОЖЕТ подключиться к нему. ...У меня просто нет способа объяснить ему, как к нему подключиться.
Можно ли что-нибудь сделать, чтобы настроить Superset со строкой подключения сокета Unix для целевых баз данных для источников данных (не метаданных, которые и так работают)?
Я вижу, что он даже позволяет мне указать дополнительные параметры, где вы указываете сокет Unix, но поскольку IP-адрес хоста и порт являются обязательными полями, и он проверяет их, он их не примет.
Я хочу избежать дополнительных расходов на VPC (и я понятия не имею, как его настроить, поскольку я не администратор, и все, что происходит за пределами IDE, вызывает у меня посттравматическое стрессовое расстройство).
Если я не смогу с этим разобраться, мне придется развернуть его в нашем кластере K8s, который мы пытаемся заменить бессерверными вариантами (Cloud Run, GAE и т. д.).
решение1
Проблема связана с Apache Superset UI, и я рекомендую вам следоватьПроблема с GitHubчтобы решить эту проблему.
На данный момент настройка вашей бессерверной среды следующим образом поможет решить проблему:
- НастройтеЧастный IP для экземпляра Cloud SQL
- НастройтеКоннектор бессерверного доступа VPC
- НастроитьОблачный забегиспользовать соединитель
- Окончательносоединятьиспользуя частный IP и порт
Предоставленные шаги подробно описаны в документации и просты в выполнении.