赞
踩
首先介绍一下GitLab:
GitLab是一个基于Web的Git仓库管理器,提供Git仓库管理、代码评审、问题跟踪、活动动态、Wiki和持续集成/持续部署(CI / CD)管道。与其竞争对手GitHub不同,GitLab还提供免费的私有仓库。
GitLab由Dmitriy Zaporozhets和Valery Sizov于2011年创建。它使用Ruby和Go编写,并提供两个版本:GitLab社区版(CE)和GitLab企业版(EE)。
GitLab CE是一款开源软件,而GitLab EE具有为企业级组织设计的额外功能。 GitLab EE中的一些功能包括LDAP组同步,审计日志和多个合并请求的审批者。
GitLab已经成为开发人员中非常流行的工具,在2021年有超过100,000个组织在使用它。它的流行可以归因于其广泛的功能集、活跃的开发社区以及作为开源软件提供的事实。
接下来开始今天的正题:
【任务 3 】容器云应用部署:基于 Kubernetes 构建 CICD[8.0 分]
该公司决定采用 Kubernetes + GitLab CI 来构建 CICD 环境,以缩短新功能开发上线周
期,及时满足客户的需求,实现 DevOps 的部分流程,来减轻部署运维的负担,实现可视化
容器生命周期管理、应用发布和版本迭代更新,请完成 GitLab CI + Kubernetes 的 CICD 环
境部署(构建持续集成所需要的所有软件包在软件包 CICD-Runner.tar.gz 中)。CICD 应用系
统架构如下:
【适用平台】私有云
【题目 1】安装 GitLab 环境[1 分]
在Kubernetes集群中新建命名空间gitlab-ci,将GitLab部署到该命名空间下,Deployment和 Service 名称均为 gitlab,以 NodePort 方式将 80 端口对外暴露为 30880,设置 GitLab 服务root 用户的密码为 admin@123,将项目包 demo-2048.tar.gz 导入到 GitLab 中并命名为demo-2048。
完成后提交 master 节点的用户名、密码和 IP 地址到答题框。(需要用到的软件包路径
CICD-Runner.tar.gz)
1.GitLab 部署正确且能正常访问得 0.5 分;
2.项目导入成功得 0.5 分。
在Kubernetes集群中创建命名空间gitlab-ci:
kubectl create namespace gitlab-ci
部署GitLab到gitlab-ci命名空间下。首先,创建一个名为gitlab-deployment.yaml的文件,然后将以下内容复制到该文件中:
- apiVersion: apps/v1
-
- kind: Deployment
-
- metadata:
-
- name: gitlab
-
- namespace: gitlab-ci
-
- spec:
-
- replicas: 1
-
- selector:
-
- matchLabels:
-
- app: gitlab
-
- template:
-
- metadata:
-
- labels:
-
- app: gitlab
-
- spec:
-
- containers:
-
- - name: gitlab
-
- image: gitlab/gitlab-ce:latest
-
- ports:
-
- - containerPort: 80
-
- env:
-
- - name: GITLAB_OMNIBUS_CONFIG
-
- value: "external_url 'http://gitlab.example.com/'; gitlab_rails['initial_root_password'] = 'admin@123'"
将GitLab部署到Kubernetes集群:
kubectl apply -f gitlab-deployment.yaml
创建一个名为gitlab-service.yaml的文件,然后将以下内容复制到该文件中:
- apiVersion: v1
-
- kind: Service
-
- metadata:
-
- name: gitlab
-
- namespace: gitlab-ci
-
- spec:
-
- selector:
-
- app: gitlab
-
- ports:
-
- - protocol: TCP
-
- port: 80
-
- targetPort: 80
-
- nodePort: 30880
-
- type: NodePort
在Kubernetes集群中创建GitLab服务:
kubectl apply -f gitlab-service.yaml
现在,GitLab已成功部署在Kubernetes集群中,并将80端口对外暴露为30880。GitLab服务root用户的密码已设置为admin@123。
接下来,我们将讨论如何将项目包demo-2048.tar.gz导入到GitLab中并命名为demo-2048:
1登录GitLab,使用设置的root用户密码admin@123。
2创建一个新项目:点击“New project”,然后选择“Create blank project”。
3在“Project name”中输入demo-2048,然后点击“Create project”。
4在项目页面的右上角,点击“Import project”,选择“Repo by URL”。
5将demo-2048.tar.gz上传到一个可访问的HTTP或HTTPS URL。
6在“Git repository URL”中输入demo-2048.tar.gz文件的URL,然后点击“Import project”。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。