CI/CD:基于kubernetes的Gitlab搭建

embedded/2024/9/24 2:49:33/

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/embedded/24578.html

相关文章

上市公司-双重差分模型手动匹配绿色企业数据及参考资料

01、数据简介 双重差分模型&#xff08;DID&#xff0c;Differences-in-Differences&#xff09;是一种用于估计某个政策或处理效果的经济计量学模型。通过双重差分模型&#xff0c;可以控制一些不易观察的个体特征和时间趋势&#xff0c;以更准确地估计政策的效应。将绿色企业…

集成框架 -- OSS

前言 接入oss必须有这两个文档基础 使用STS临时访问凭证访问OSS_对象存储(OSS)-阿里云帮助中心 前端上传跨域 正文 sts前后端通用&#xff0c;开通图示 AliyunSTSAssumeRoleAccess 后端实现代码 public static void main(String[] args) {String regionId "cn-ha…

maven多模块创建-安装配置

1、前提 许久没有写文章了&#xff0c;荒废了2年多的时间&#xff0c;在整理的时候&#xff0c;发现Maven还差一篇安装配置的文章&#xff0c;现在开始提笔完善它&#xff0c;参考&#xff1a;https://blog.csdn.net/m0_72803119/article/details/134634164。 —写于2024年4月…

解决jupyter中使用keplergl的visualization_data函数不显示图片的问题

解决jupyter中使用keplergl的visualization_data函数不显示图片的问题 运行下面的命令&#xff1a;. 首先确认已经安装keplergl pip install keplergl然后运行下面两条命令&#xff1a; jupyter nbextension install --py --sys-prefix keplergl jupyter nbextension enabl…

云容器与云中间件

云容器与中间件是两种不同的技术和服务类别&#xff0c;它们分别在云计算环境中扮演着不同的角色&#xff0c;旨在帮助企业构建、部署、管理应用程序并确保其高效、可靠地运行。下面分别介绍两者的基本概念、包含的内容以及各自的用途。 容器 基本概念&#xff1a; 在腾讯云中…

自动化测试——Selenium:开启Web应用测试的新篇章

自动化测试——Selenium&#xff1a;开启Web应用测试的新篇章 摘要&#xff1a; 随着Web技术的迅猛发展&#xff0c;Web应用的质量和性能成为了企业竞争力的重要指标。自动化测试作为软件测试领域的重要技术&#xff0c;对于提高测试效率、保证产品质量具有显著优势。Selenium…

C# winform 漂亮的日期时间控件

源代码下载&#xff1a; https://download.csdn.net/download/gaoxiang19820514/89242240 效果图 在 HZH-Controls控件 基础上修改的日期控件 因为HZH_Controls控件 中的日期控件太大了&#xff0c; 我的程序中需要多个日期时间的控件放不下&#xff0c;主题是绿色的&#…

Linux——进程控制

Linux——进程控制 文章目录 Linux——进程控制一、进程创建二、进程终止2.1 退出码2.2 进程退出场景2.3 进程常见退出方法 三、进程等待3.1 进程等待的必要性3.2 进程等待的方法 四、进程替换4.1 替换原理4.2 替换函数4.3 替换细节 五、实现简易版myshell 一、进程创建 上篇文…