美文网首页
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