您好,
我們查了這台伺服器(Tencent Tokyo, 43.130.246.201)的狀態:
原因:
ingress-controller 這個組件一直卡在 STARTING 狀態(從未成功啟動,時間戳停留在 1970-01-01),所以整台伺服器上的服務都無法對外存取。其他系統組件(DNS、log-api、fluent-bit、node-exporter 等)都是正常運行的,資源也充足(CPU 10%、記憶體 50%),所以不是資源不足的問題。
重啟 + 多次「重裝 Zeabur 系統組件」之所以都失敗,是因為 ingress-controller 每次啟動都被同一個原因擋住。根據以往類似案例,最常見的原因是伺服器主機上有其他程式佔用了 port 80 或 443(例如系統自帶的 nginx 在重啟後自動啟動),導致 ingress-controller 無法綁定埠號、反覆 crash。
Zeabur 的 k3s 需要獨佔以下埠號:
| Port | 用途 |
|---|
| 80 | HTTP |
| 443 | HTTPS(ingress-controller) |
| 4222 | Zeabur 管理通訊 |
| 6443 | Kubernetes API |
| 30000–32767 | NodePort |
請協助以下排查:
- SSH 登入伺服器後執行:
sudo ss -tlnp | grep -E ':(80|443)\b'
sudo lsof -i :80
sudo lsof -i :443
- 如果發現
nginx、apache 或其他程式佔用了 80/443,請停止並禁用它(以 nginx 為例):
sudo systemctl stop nginx && sudo systemctl disable nginx
- 停止後等待 1–2 分鐘,ingress-controller 會自動重新綁定並恢復,所有服務也會隨之回到正常。
如果 80/443 並沒有被佔用,請把以下指令的輸出貼回來,我們繼續查 pod 層面的具體錯誤:
sudo k3s kubectl -n zeabur get pods -o wide | grep ingress
sudo k3s kubectl -n zeabur describe pod <ingress-pod-name>
sudo k3s kubectl -n zeabur logs <ingress-pod-name> --previous