配置 GitLab 與 Kubernetes 的集成


登錄 GitLab UI 后,您應該啟用本地 HTTP 請求。這樣做你需要去管理部分。然后點擊“設置”->“網絡”->“出站請求”最后,您需要選中“允許從 Web 鈎子和服務向本地網絡發出請求”我們將使用 GitLab 和 Kubernetes API 之間以及 GitLab CI runner 和 GitLab master 之間的內部通信。

現在,我們可以配置與 Kubernetes API 的連接。為此,您應該轉到“Kubernetes”部分,然后單擊“添加 Kubernetes 集群”,最后切換到“連接現有集群”選項卡。我們需要在表格中提供一些關於我們集群的基本信息。該名稱是必需的,因此我設置了與 Kubernetes 上下文相同的名稱。您可以在“環境范圍”字段中保留默認值。在“API URL”字段中,我提供了 Kubernetes API 的內部地址。它是http://kubernetes.default:443

我們還需要粘貼集群 CA 證書。為了獲得它,您應該首先找到帶有前綴的秘密default-token-,並使用以下命令復制它。

$ kubectl get secret default-token-ttswt -o jsonpath="{['data']['ca\.crt']}" | base64 --decode

最后,我們應該ServiceAccount為 GitLab創建一個特殊cluster-admin角色。

apiVersion: v1
kind: ServiceAccount
metadata:
  name: gitlab
  namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
  name: gitlab-admin
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
  - kind: ServiceAccount
    name: gitlab
    namespace: kube-system

然后您應該gitlabkube-system命名空間中找到帶有前綴的秘密,並顯示其詳細信息。之后,我們需要復制 field 的值token,並將其粘貼到表單中,無需解碼。

$ kubectl describe secret gitlab-token-5sk2v -n kube-system

這是 GitLab 所需的有關 Kubernetes 集群的完整信息。讓我們通過單擊“添加 Kubernetes 集群”來添加它。

在 GitLab UI 中成功添加新的 Kubernetes 集群后,您需要顯示其詳細信息。在“應用程序”選項卡中,您應該找到“GitLab runner”部分並安裝它。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM