配置 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