美文网首页
gitlab 添加现有的 kubernetes 集群

gitlab 添加现有的 kubernetes 集群

作者: 0neBean | 来源:发表于2019-09-27 09:44 被阅读0次

首先你需要安装一个kubernetes :
linux centos 以Minikube单机模式运行kubernetes

安装完成后,你需要将该 kubernetes 集群配置到 gitlab:

首先打开gitlab 找到图上这个 kubernetes 管理菜单,添加一个现有的 kubernetes 集群:

表单需要我们填写:

#集群名称

#API 地址:
kubectl cluster-info | grep 'Kubernetes master' | awk '/http/ {print $NF}'
# https://192.168.122.161:6443


#CA证书:
kubectl get secrets
# 把结果中 name 类似于 default-token-xxxxx 的 token name 复制到下面的命令中:
kubectl get secret <secret name> -o jsonpath="{['data']['ca\.crt']}" | base64 --decode

#-----BEGIN CERTIFICATE-----  这一句也要复制!
# xxxxxxxxx
#-----END CERTIFICATE----- 这一句也要复制!


Service Token 要麻烦一点,GitLab使用 Service Token 对 Kubernetes 特定的 namespace 进行身份验证,而这里的令牌应该属于拥有 cluster-admin 角色的服务账号。
首先:

  • 创建 gitlab-admin-service-account.yaml 文件:
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

创建这个服务账号,并绑定到 cluster-admin 角色下:

kubectl apply -f gitlab-admin-service-account.yaml
# serviceaccount "gitlab-admin" created
# clusterrolebinding "gitlab-admin" created

输入以下命令,并从输出中拷贝出 token

kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep gitlab-admin | awk '{print $1}')

# Name:         gitlab-admin-token-b5zv4
# Namespace:    kube-system
# Labels:       <none>
# Annotations:  kubernetes.io/service-account.name=gitlab-admin
#               kubernetes.io/service-account.uid=bcfe66ac-39be-11e8-97e8-026dce96b6e8

# Type:  kubernetes.io/service-account-token

# Data
# ====
# ca.crt:     1025 bytes
# namespace:  11 bytes
# token:      <authentication_token>

点击添加,如果出现本地url不允许设置的提示,设置一下IP白名单:


点击添加以后,可以看到需要安装一下依赖和应用:


如果安装出现错误,请检查pod状态,是否存在镜像被墙,拉不下来的情况,并参考这里解决:
k8s.gcr.io 国内镜像拉不下来

如果 ingress 安装出现问题请参考这里:
gitlab kubernetes 安装 ingress endpoint 启动失败
gitlab kubernetes 安装 ingress 超时

相关文章

网友评论

      本文标题:gitlab 添加现有的 kubernetes 集群

      本文链接:https://www.haomeiwen.com/subject/rnmjuctx.html