Kubernetes

遷移到新集群後 GitLab Runner 無法註冊

  • December 5, 2021

我在 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 個錯誤。#你遇到了這個錯誤

另見類似問題:

引用自:https://serverfault.com/questions/1069142