簡體   English   中英

在Gitlab中連接到Kubernetes Executor的kubernetes API

[英]Connecting to the kubernetes API for Kubernetes Executor in Gitlab

根據https://docs.gitlab.com/runner/executors/kubernetes.html#connecting-to-the-kubernetes-api的說明 ,我可以從當前的Gitlab運行程序連接到另一個K8s集群,但事實是它們確實可以不提供您做什么或需要在何處指定這些選項的任何信息。

編輯:最終設法在config.toml中指定了這些選項,但是現在無論何時我的Gitlab運行程序得到一份工作,它都會失敗,如下所示:

ERROR: Job failed (system failure): User "system:serviceaccount:test-djg:default" cannot create secrets in project "gitlab" job=17304 project=3128 runner=c36ccf98

任何想法?

之所以會出現此錯誤,是因為在群集中啟用RBAC時,執行程序pod沒有運行所需的權限。 您應該根據您的設置創建一個RoleRoleBinding以及一個ServiceAccount

gitlab-runner項目中有一個待處理的合並請求 ,其中記錄了必要的權限以及有關RBAC的其他信息。

但是現在,如果您想進行快速設置,則可以使用以下代碼段完全訪問名稱空間。 請注意,您將需要進行修改以匹配您的設置。

kind: Role
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
  namespace: gitlab
  name: gitlab-admin
rules:
  - apiGroups: [""] # The API group "" indicates the core API Group.
    resources: ["*"]
    verbs: ["*"]

---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
  name: gitlab-admin
  namespace: gitlab
subjects:
  - kind: ServiceAccount # May be "User", "Group" or "ServiceAccount"
    name: default
    namespace: gitlab
roleRef:
  kind: Role
  name: gitlab-admin
  apiGroup: rbac.authorization.k8s.io

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM