实操教程丨如何将一个k3s集群集成到Gitlab项目中
云计算 关于k3s
系统内核版本:Linux 3.10+
创新互联建站长期为上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为鸡东企业提供专业的网站建设、做网站,鸡东网站改版等技术服务。拥有10余年丰富建站经验和众多成功案例,为您定制开发。每个Server低RAM要求:512 MB
每个节点RAM低要求:75MB
磁盘空间低要求:200 MB
支持的硬件架构:x86_64、 ARMv7、 ARM64
在GitLab中创建项目
我们现在有两个选项:
在GKE上创建一个新的Kubernetes集群
导入现有Kubernetes 集群的配置(无论这一集群在何处创建均可导入)
注意:在当前版本的GitLab中,新集群的创建仅限于GKE。
在这一步中,我们需要填写几个字段来提供我们需要集成的集群配置。一直打开这个选项卡,暂时无需理会。现在,我们先去创建一个全新的Kubernetes集群。
创建一个k3s集群root@node1:~ $ curl -sfL https://get.k3s.io | sh -
curl https://get.docker.com | sh
root@node1:~ $ cat /etc/rancher/k3s/k3s.yaml apiVersion: v1 clusters: - cluster: certificate-authority-data: LS0tL...tCg== server: https://localhost:6443 name: default contexts: - context: cluster: default user: default name: default current-context: default kind: Config preferences: {} users: - name: default user: password: 48f4b...4b4e7 username: admin
$ kubectl get nodes NAME STATUS ROLES AGE VERSION node1 Ready master 3m v1.14.5-k3s.1
$ curl -sfL https://get.k3s.io | K3S_URL=https://myserver:6443 K3S_TOKEN=XXX sh -在Gitlab中集成
现在让我们获取在Gitlab项目中集成全新的k3s集群所需的所有信息。
集群名字:k3s
API Server的URL:在配置文件中,API Server指定为:https://localhost:6443 。为了从外部访问,我们需要提供node1 外部的IP地址。
集群的CA证书:要向Gitlab提供集群CA证书,我们需要解码配置中指定的那个文件(就像它在base 64中一样)。
$ kubectl config view --raw \\ -o=jsonpath=\'{.clusters[0].cluster.certificate-authority-data}\' \\ | base64 --decode
Service token
获取一个识别令牌的过程牵涉到几个步骤。我们首先需要创建一个ServiceAccount并且向它提供一个cluster-admin角色。以下命令可以完成这些步骤:
$ cat < $ SECRET=$(kubectl -n kube-system get secret | grep gitlab-admin | awk \'{print $1}\')$ TOKEN=$(kubectl -n kube-system get secret $SECRET -o jsonpath=\'{.data.token}\' | base64 --decode) $ echo $TOKEN$ kubectl get deploy --all-namespaces | grep tiller NAMESPACE NAME READY UP-TO-DATE AVAILABLE AGE gitlab-managed-apps tiller-deploy 1/1 1 1 67s集群现在已经可以使用了。除此之外,GitLab的Web界面允许一键安装其他组件:
Ingress Controller,暴露集群中运行的服务
Cert-Manager,使用Let\'s Encrypt管理TLS证书
Prometheus,监控运行在集群中 的应用程序
Knative,部署Serverless工作负载
总 结源代码
Dockerfile,指定如何从代码中创建Docker镜像
Kubernetes资源,如部署、服务……
.gitlab-ci.yaml文件,定义CI流水线以及如何部署应用程序并且针对相关Kubernetes集群进行测试
标题名称:实操教程丨如何将一个k3s集群集成到Gitlab项目中
新闻来源:http://pwwzsj.com/article/cjoejh.html