CI/CD:基于kubernetes的Gitlab搭建

server/2024/10/18 1:40:45/

1. 项目目标

(1)熟悉使用k8s环境搭建Gitlab

(2)熟练应用Gitlab基本配置

2. 项目准备

2.1. 规划节点

主机名

主机IP

节点规划

k8s-master

10.0.1.1

kube_master

k8s-node1

10.0.1.2

kube_node

k8s-node2

10.0.1.3

kube_node

2.2. 基础准备

系统镜像:CentOS 7.9

环境准备:K8S集群

3. 项目实施

3.1. 部署GitLab

3.1.1. 编写GitLab资源清单文件:
[root@master ~]# vi gitlab-deploy.yaml 
apiVersion: v1
kind: Service
metadata:name: gitlab
spec:type: NodePortports:- port: 443nodePort: 30443targetPort: 443name: gitlab-443- port: 80nodePort: 30888targetPort: 80name: gitlab-80selector:app: gitlab
---
apiVersion: apps/v1
kind: Deployment
metadata:name: gitlab
spec:selector:matchLabels:app: gitlabrevisionHistoryLimit: 2template:metadata:labels:app: gitlabspec:containers:- image: gitlab/gitlab-ce:latestname: gitlabimagePullPolicy: IfNotPresentenv:- name: GITLAB_ROOT_PASSWORD  # 设置root用户密码value: admin@123- name: GITLAB_PORTvalue: "80"ports:- containerPort: 443name: gitlab-443- containerPort: 80name: gitlab-80
3.1.2. 部署GitLab:
[root@master ~]# kubectl -n devops apply -f gitlab-deploy.yaml
service/gitlab created
deployment.apps/gitlab created
3.1.3. 查看Pod:
[root@master ~]# kubectl -n devops get pods -o wide
NAME                      READY   STATUS    RESTARTS      AGE     IP               NODE         NOMINATED NODE   READINESS GATES
gitlab-5fcc866774-779wv   1/1     Running   0             9m28s   172.20.102.145   10.0.1.150   <none>           <none>
jenkins-75b6c4878-flrbm   1/1     Running   2 (16m ago)   13d     172.20.102.144   10.0.1.150   <none>           <none>
3.1.4. 查看GitLab Service:
[root@master ~]# kubectl get svc -n devops
NAME      TYPE       CLUSTER-IP      EXTERNAL-IP   PORT(S)                          AGE
gitlab    NodePort   10.68.140.186   <none>        443:30443/TCP,80:30888/TCP       11m
jenkins   NodePort   10.68.241.36    <none>        8080:30880/TCP,50000:30850/TCP   13d

GitLab启动较慢,可以通过“kubectl logs”查看其启动状态。启动完成后,在Web端访问GitLab(http://master:30888),输入账号root,密码admin@123

3.2. Gitlab基本配置

3.2.1. projects界面

登录之后直接进入到gitlab的project界面。

3.2.2. 汉化gitlab

单击右上角头像->“preferences”->下拉找到“language”->修改为“中文”->“save changes”。

3.2.3. 关闭注册

根据实际情况开启关闭注册,在公网上没关的话,任何人都可以注册,被恶意攻击就麻烦了。

展开“菜单”-> “管理员”->“通用”->取消“启用注册功能”

4. 项目总结

本博客使用kubernetes环境搭建了Gitlab,并进行基本的配置。


http://www.ppmy.cn/server/24500.html

相关文章

【Jenkins】持续集成与交付 (十):Tomcat 8.5.99 安装和配置详解

🟣【Jenkins】持续集成与交付 (十):Tomcat 8.5.99 安装和配置详解 一、安装 Tomcat 8.5.991.1 上传 Tomcat 压缩包1.2 安装 JDK(如果尚未安装)1.3 解压 Tomcat 压缩包1.4 创建目标目录并移动 Tomcat 文件1.5 启动 Tomcat二、配置 Tomcat 用户角色权限2.1 添加用户及权限…

OpenCV如何模板匹配

返回:OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 上一篇&#xff1a;OpenCV如何实现背投 下一篇 &#xff1a;OpenCV在图像中寻找轮廓 目标 在本教程中&#xff0c;您将学习如何&#xff1a; 使用 OpenCV 函数 matchTemplate()搜索图像贴片和输入图像之间…

Springboot+Vue项目-基于Java+MySQL的校园外卖服务系统(附源码+演示视频+LW)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;Java毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计 &…

十大排序算法之——希尔排序算法(Java实现)及思路讲解

希尔排序&#xff08;Shell Sort&#xff09;是插入排序的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法的基本思想是&#xff1a;先将整个待排序的记录序列分割成为若干子序列&#xff08;由相隔某个“增量”的记录组成&#xff09;分别进行直接插入排序&#xff0…

Django orm高级用法以及查询优化

基础查询 #全表查询 Author.objects.all() #<QuerySet [<Author: Author object (4)>, <Author: Author object (1)>, <Author: Author object (10)>, <Author: Author object (8)>, <Author: Author object (5)>, <Author: Author objec…

【百度Apollo】探索自动驾驶:Apollo 新版本 Beta 全新的Dreamview+,便捷灵活更丰富

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《linux深造日志》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 文章目录 引入一、Dreamview介绍二、Dreamview 新特性2.1、基于模式的多场景——流程更简洁地图视角调节&#xff1a;调试流…

MAC 本地搭建Dify环境

Dify 介绍 Dify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务&#xff08;Backend as Service&#xff09;和 LLMOps 的理念&#xff0c;使开发者可以快速搭建生产级的生成式 AI 应用。即使你是非技术人员&#xff0c;也能参与到 AI 应用的定义和数据运营过…

MySQL 高级 - 第四章 | 配置文件与系统变量

目录 一、配置文件的使用1.1 配置文件格式1.2 启动命令和选项组1.3 特定 MySQL 版本的专用选项1.4 同一个配置文件中多个组的优先级1.5 命令行和配置文件中启动选项的区别 二、系统变量2.1 系统变量简介2.2 查看系统变量2.3 设置系统变量2.3.1 通过启动选项配置2.3.2 服务器程序…