乐趣区

使用K8S搭建前端测试环境-Gitlab集成K8S

有点难以置信,上面我们似乎轻易的就部署了 k8s 集群。接下来在 Gitlab 中要集成 K8S 的话,有几项信息必须要填写:

集群名称: 我们可以随意填写

API 地址: 通过执行命令 kubectl cluster-info 后,从 master 的地址中取得

CA 证书和服务令牌

要获得这两个信息,我们得要先在 K8S 中创建一个新得 namespace,执行命令:kubectl create ns gitlab 即可

然后我们在部署阶段要去创建,删除资源等,所以我们需要对象得 RBAC 权限,复制下面配置保存如 ServiceAccount.yaml 文件:

---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: gitlab
  namespace: gitlab
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
  name: gitlab
  namespace: gitlab
subjects:
  - kind: ServiceAccount
    name: gitlab
    namespace: gitlab
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin

执行命令:

kubectl apply -f ServiceAccount.yaml

> serviceaccount "gitlab" created
> clusterrolebinding.rbac.authorization.k8s.io "gitlab" created

创建成功后,我们可以使用刚创建得 ServiceAccount 获取 CA 证书和服务令牌。

kubectl get serviceaccount gitlab -n gitlab -o json
# 我们找到 `secrets[0].name` 这个节点得信息,得到服务名,假设叫 gitlab-token-abcde

kubectl get secret gitlab-token-abcde -n gitlab -o json
# 从 data[ca.crt]中得到 CA 证书
# 从 data.token 得到服务令牌
# 上面两个信息是被 base64 编码了,解压一下即可得到我们所需要得所有信息

得到所有信息后,我们按照表单以此填入即可将 K8S 集成到 Gitlab。

目前我们还需要注册一些 Runner 来执行 CI/CD 的任务。

我们可以直接在一个服务器上按照 Gitlab 官方得说明去添加 Runner,但既然我们已经部署了 K8S,那么可以在 K8S 上自动部署上 Runner。

在 Gitlab 中以此访问 运维 /Kubernetes,打开刚添加的 K8S,在应用程序中,我们先自动安装 Helm Tiller,等待 Helm Tiller安装完成后,我们再安装 Gitlab Runner,当全部完成后,我们应该可以在 CI/CD 中的 Runner 发现已激活的 Runner了。

此时 Gitlab Runner 也配置完成。

接下来我们可以准备 CI/CD 的工作了。

使用 K8S 搭建前端测试环境 – 前言
使用 K8S 搭建前端测试环境 – K8S 环境搭建
使用 K8S 搭建前端测试环境 – Gitlab 集成 K8S
使用 K8S 搭建前端测试环境 – 创建 CI/CD
使用 K8S 搭建前端测试环境 – 基础服务搭建
使用 K8S 搭建前端测试环境 – 总结

退出移动版