共计 1420 个字符,预计需要花费 4 分钟才能阅读完成。
有点难以置信,上面我们似乎轻易的就部署了 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 搭建前端测试环境 – 总结