為 Apache Superset 提供 Unix Socket 連線訊息

為 Apache Superset 提供 Unix Socket 連線訊息

我有一個在 Google Cloud Run 中運行的 Apache Superset 的 docker 映像。我已將其配置為使用我們的 Cloud SQL 主機作為其元資料資料庫。由於您將 Cloud Run 連接到 Cloud SQL 的方式,這需要使用 SQL Alchemy 中的 unix 套接字樣式連接字串來進行連接(按照說明這裡.)。 Postgres 是正在使用的資料庫(儘管我懷疑這很重要)。

我對自己非常滿意(因為我的 Docker/Cloud Run 知識很少),而且它運作良好 - 但後來我去添加一些資料來源。當然,資料庫連線資訊的設定對話框僅允許您輸入主機和 IP:

超級集資料庫配置

走到這一步並被 UI 限制所阻礙是非常令人失望的。我想要連接的主機與它用於元資料資料庫的主機是同一台主機 - 很明顯它可以連接到它。 ……我只是無法向它表達如何連接到它。

我可以做些什麼來為資料來源的目標資料庫(不是元數據,它已經起作用)配置帶有unix套接字連接字串的Superset?

我發現它甚至允許我提供額外的參數,即您指定 unix 套接字的位置 - 但由於主機 IP 和連接埠是必填字段,並且它會針對它們進行測試,因此它不會接受它。

我想避免 VPC 的額外成本(而且我不知道如何設定 VPC,因為我不是管理員,而且 IDE 之外發生的任何事情都會讓我產生 PTSD)。

如果我無法解決這個問題,我將不得不將其部署到我們的 K8s 叢集中,我們正在嘗試用無伺服器選項(Cloud Run、GAE 等)取代它。

答案1

問題出在 Apache Superset UI 上,我建議您按照GitHub問題來解決這個問題。

目前,按如下方式配置無伺服器環境將有助於解決該問題:

  1. 配置一個Cloud SQL 執行個體的私人 IP
  2. 設定一個VPC 無伺服器存取連接器
  3. 配置雲跑使用連接器
  4. 最後連接使用私有IP和連接埠

文件中對所提供的步驟進行了很好的解釋,並且可以直接執行。

相關內容