• Gitlab添加K8S集群


    本文介绍如何在Gitlab项目中添加K8S集群,以便使用K8S集群部署gitlab-runner帮我们运行gitlab的CI/CD。

    参考官方文档:https://docs.gitlab.com/ee/user/project/clusters/add_remove_clusters.html#add-existing-cluster

    操作步骤

    找到添加位置

    登入gitlab后,进入自己的项目主页,菜单栏 Operations => Kubernetes => Add Kubernetes cluster,选择页签 Add existing cluster。

    image-20200616142451397

    我们只需要获取响应的值填录到该表单即可。Kubernetes cluster name集群名称随意填,Project namespace可不填。

    获取API URL

    运行以下命令得到输出值:

    kubectl cluster-info | grep 'Kubernetes master' | awk '/http/ {print $NF}'
    

    获取CA Certificate

    运行以下命令得到输出值:

    kubectl get secret $(kubectl get secret | grep default-token | awk '{print $1}') -o jsonpath="{['data']['ca.crt']}" | base64 --decode
    

    获取Token

    创建文件gitlab-admin-service-account.yaml:

    vim 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
    

    运行以下命令得到输出值:

    kubectl apply -f gitlab-admin-service-account.yaml
    kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep gitlab-admin | awk '{print $1}')
    

    添加完成之后,可以在集群中安装你想用的插件了,例如gitlab-runner。

    踩坑记录

    在Gitlab中添加Kubernetes集群,可能存在两者版本兼容的问题,这回导致gitlab调用K8S集群的API失败,可能是因为K8S不同版本的api更新的缘故。尽量使用最新版本的Gitlab,他会支持更多版本的K8S API。

    可以通过文档查看Gitlab支持的K8S版本:https://docs.gitlab.com/ee/user/project/clusters/index.html

  • 相关阅读:
    Linux(Contos7.5)环境搭建之JDK1.8安装(二)
    python微信域名或者链接批量检测
    表单设计器3-查询面板
    表单设计器2-表格布局
    表单设计器1-基本操作
    信息无障碍国内标准
    信息无障碍国际标准
    信息无障碍服务对象
    信息无障碍定义
    E8.Net工作流开发问题
  • 原文地址:https://www.cnblogs.com/Med1tator/p/13141853.html
Copyright © 2020-2023  润新知