
我已經在 Kubernetes(由 Rancher 管理的 k3s)中設定了 Postgres,它似乎運作良好,但為了查看資料庫,我嘗試新增一個 pgadmin4 pod。
我首先嘗試添加圖像dpage/pgadmin4
而不進行任何其他配置(除了來自端口 80 的節點端口以及 PGADMIN_DEFAULT_EMAIL 和 PGADMIN_DEFAULT_PASSWORD env var),收到以下錯誤並嘗試了一些操作:
- 將 PGADMIN_LISTEN_ADDRESS 環境變數設定為
0.0.0.0
以防不支援 IPv6 - 為 /var/lib/pgadmin 新增卷掛載(來自 longhorn)
Pod 無法啟動,並顯示以下日誌訊息:
NOTE: Configuring authentication for SERVER mode.
sudo: effective uid is not 0, is /usr/bin/sudo on a file system with the 'nosuid' option set or an NFS file system without root privileges?
[2022-03-30 08:27:31 +0000] [1] [INFO] Starting gunicorn 20.1.0
[2022-03-30 08:27:31 +0000] [1] [ERROR] Retrying in 1 second.
[2022-03-30 08:27:32 +0000] [1] [ERROR] Retrying in 1 second.
[2022-03-30 08:27:33 +0000] [1] [ERROR] Retrying in 1 second.
[2022-03-30 08:27:34 +0000] [1] [ERROR] Retrying in 1 second.
[2022-03-30 08:27:35 +0000] [1] [ERROR] Retrying in 1 second.
[2022-03-30 08:27:36 +0000] [1] [ERROR] Can't connect to ('0.0.0.0', 80)
似乎有兩件事是錯的:
- sudo 錯誤,該錯誤是由以 userid 5050 開頭的 pgadmin4 導致的,但我不知道如何解決這個問題
- Gunicorn 無法偵聽連接埠 80
我對 Kubernetes 不太熟悉,所以我只是不知道必須使用哪些選項來解決這個問題。
預先感謝您的任何幫助。
答案1
在我自己對 Rancher 的 Kubernetes 進行故障排除後,我發現您需要一個 init 容器才能開始。從使用者介面來看,這可能很棘手,但您必須轉到工作負載部分才能找到它。 (點選省略號)。確保將 pgadmin 磁碟區安裝在特定位置,為了理智起見,我們稱之為 /var/lib/pgadmin
使用鏡像 busybox 並執行命令:
chown -vR 5050:5050 /var/lib/pgadmin
然後,您還需要將部署的環境變數設為高於 1024,我選擇了 5050,使用環境變數:
PGADMIN_LISTEN_PORT: 5050