Kubernetes
遷移到新集群後 GitLab Runner 無法註冊
我在 Kubernetes 中安裝了 GitLab 和他們的 Helm 圖表。
我通過以下步驟將舊的 Gitlab 部署從一個集群遷移到另一個集群:
- 縮小舊集群中的所有 pod
- 將帶有 helm 的 values.yml 應用到新集群(以創建 PVC)
- 縮減新集群中的所有 pod
- 更改 DNS 記錄、HAProxy 等
- 手動將數據從舊 PVC 同步到新 PVC(minio、gitaly、redis、postgres、prometheus)
- 執行 helm upgrade 以使部署在新集群中重新上線
畢竟大部分部署工作正常。能夠登錄和使用git。
但是跑步者沒有註冊,所以我不能執行任何 CI。看著
gitlab-gitlab-runner
吊艙,我看到下面的消息一遍又一遍地重複:Registration attempt 30 of 30 Runtime platform arch=amd64 os=linux pid=691 revision=3b6f852e version=14.0.0 WARNING: Running in user-mode. WARNING: The user-mode requires you to manually start builds processing: WARNING: $ gitlab-runner run WARNING: Use sudo for system-mode: WARNING: $ sudo gitlab-runner... ERROR: Registering runner... failed runner=y6ixJoR1 status=500 Internal Server Error PANIC: Failed to register the runner. You may be having network problems.
如您所見,它無法註冊跑步者。試圖去
/admin/runners
給我一個 500 錯誤。我在哪裡可以看到更多關於我為什麼會收到這個 500 錯誤的資訊?
看起來您已經從以前的集群中恢復了數據和配置,但是您缺少新集群上的秘密。在這裡你可以找到一個程序,當秘密失去時你應該做什麼。您還可以在那裡找到:
在 CI/CD 變數和執行器身份驗證等情況下,您可能會遇到意外行為,例如:
- 卡住的工作。
- 500 個錯誤。#你遇到了這個錯誤
另見類似問題: