参考这篇文章,比较全面
https://medium.com/better-programming/using-a-k3s-kubernetes-cluster-for-your-gitlab-project-b0b035c291a9
获取API URL
默认的是https://127.0.0.1:6443 可以选择把端口映射到外网
获取Cluster’s CA certificate
1
2
3
| kubectl config view --raw \
-o=jsonpath='{.clusters[0].cluster.certificate-authority-data}' \
| base64 --decode
|
获取Service token
创建一个 ServiceAccount,并为其提供集群管理角色
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: ServiceAccount
metadata:
name: gitlab-admin
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-admin
namespace: kube-system
EOF
|
往环境变量添加 SECRET
1
| SECRET=$(kubectl -n kube-system get secret | grep gitlab-admin | awk '{print $1}')
|
往环境变量添加 TOKEN 并且 提取与 SECRET 关联的 JWT 令牌:
1
| TOKEN=$(kubectl -n kube-system get secret $SECRET -o jsonpath='{.data.token}' | base64 --decode)
|
现在我们使用所有的信息并填写 GitLab 的 Add existing cluster 表单