![](/img/trans.png)
[英]CI/CD with gitlab (online) to kubernetes cluster (kismatic)
[英]Gitlab CI on Kubernetes Cluster (Openstack)
我正在嘗試關注如何使用Gitlab CI與我使用Openstack創建的Kubernetes集群的簡短文檔: https ://docs.gitlab.com/runner/install/kubernetes.html
我設法創建它,但是每次我創建ConfigMap和Deployment時,如前一個鏈接所指定的那樣,它創建的pod都會卡在CrashLoopBackOff中,如下所示:
NAMESPACE NAME READY STATUS RESTARTS AGE
gitlab gitlab-runner-3998042981-f8dlh 0/1 CrashLoopBackOff 36 2h
gitlab gitlab-runner-3998042981-g9m5g 0/1 CrashLoopBackOff 36 2h
gitlab gitlab-runner-3998042981-q0bth 0/1 CrashLoopBackOff 36 2h
gitlab gitlab-runner-3998042981-rjztk 0/1 CrashLoopBackOff 36 2h
kube-system coredns-1977636023-1q47s 1/1 Running 0 21h
kube-system grafana-1173934969-vw49f 1/1 Running 0 21h
kube-system node-exporter-gitlab-ci-hc6k3ffax54o-minion-0 1/1 Running 0 21h
kube-system node-exporter-gitlab-ci-hc6k3ffax54o-minion-1 1/1 Running 0 21h
kube-system prometheus-873144915-s9m6j 1/1 Running 0 21h
我的問題是我無法知道為什么會發生這種情況,因為pod日志在未創建時不可用。
除此之外,我只是不知道如何處理指定的卷,因為我認為這與crashloops有一些關系。
部署指定:
- configMap:
name: gitlab-runner
name: config
- hostPath:
path: /usr/share/ca-certificates/mozilla
name: cacerts
我發現:
hostPath卷將文件或目錄從主機節點的文件系統安裝到您的pod中
在沒有cacerts卷的情況下運行pod后,一切都已創建,但之后將不會執行任何作業。
從任何pod登錄:
Starting multi-runner from /etc/gitlab-runner/config.toml ... builds=0
Running in system-mode.
Configuration loaded builds=0
Metrics server disabled
ERROR: Checking for jobs... forbidden runner=<PARTOFTHETOKEN>
ERROR: Checking for jobs... forbidden runner=<PARTOFTHETOKEN>
ERROR: Checking for jobs... forbidden runner=<PARTOFTHETOKEN>
ERROR: Runner https://URL/ci<TOKEN> is not healthy and will be disabled!
關於在kubernetes集群上運行Gitlab CI的實際文檔還不夠明確。
您需要使用從Gitlab實例的Runner管理頁面獲得的令牌運行gitlab-runner寄存器,並從結果配置中獲取另一個令牌(cat /etc/gitlab-runner/config.toml | grep令牌)並將其粘貼到您的部署配置,以便它現在可以從CI接收作業。
更新2019年:gitlab.com文檔現在明確表示: https ://docs.gitlab.com/runner/register/#gnulinux
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.