当前位置: 首页 > news >正文

gitlabcicd-k8s部署gitlab

一.安装准备环境

存储使用nfs挂载持久化

k8s环境

helm安装 建议helm 3+

二.部署gitlab-deploy.yaml

nfs的ip是192.168.110.190 挂载目录是/data/data

注意所需要的目录需要创建:/data/data/gitlab/config ,/data/data/gitlab/logs ,/data/data/gitlab/data 

apiVersion: v1
kind: Service
metadata:name: gitlab
spec:type: NodePortports:# Port上的映射端口- port: 443targetPort: 443name: gitlab443- port: 80targetPort: 80name: gitlab80- port: 22targetPort: 22name: gitlab22selector:app: gitlab---
apiVersion: apps/v1
kind: Deployment
metadata:name: gitlab
spec:selector:matchLabels:app: gitlabrevisionHistoryLimit: 2template:metadata:labels:app: gitlabspec:containers:# 应用的镜像- image: gitlab/gitlab-cename: gitlabimagePullPolicy: IfNotPresent# 应用的内部端口ports:- containerPort: 443name: gitlab443- containerPort: 80name: gitlab80- containerPort: 22name: gitlab22volumeMounts:# gitlab持久化- name: gitlab-persistent-configmountPath: /etc/gitlab- name: gitlab-persistent-logsmountPath: /var/log/gitlab- name: gitlab-persistent-datamountPath: /var/opt/gitlabimagePullSecrets:- name: devops-repovolumes:# 使用nfs互联网存储- name: gitlab-persistent-confignfs:server: 192.168.110.190 #nfs服务端的ip地址path: /data/data/gitlab/config- name: gitlab-persistent-logsnfs:server: 192.168.110.190 #nfs服务端的ip地址path: /data/data/gitlab/logs- name: gitlab-persistent-datanfs:server: 192.168.110.190 #nfs服务端的ip地址path: /data/data/gitlab/data

三.部署yaml 查看服务 

kubectl -f apply gitlab-deploy.yaml -n gitlab

 四.gitlab优化

为了优化 GitLab 访问总是报 500 和 502 错误的问题,查看容器日志总是连接redis超时/拒绝,可以考虑将 GitLab 的内置 Redis 替换为外部托管的 Redis 服务。这可以提高 Redis 的性能和可靠性,从而提升 GitLab 的稳定性。

1.编辑配置文件

vim /etc/gitlab/gitlab.rb修改下面配置

编辑配置文件-禁用内部redis
redis['enable'] = false
配置外部redis连接信息
gitlab_rails['redis_host'] = "127.0.0.1"
gitlab_rails['redis_port'] = 6379
gitlab_rails['redis_password'] = "12345678"
gitlab_rails['redis_database'] = 10

2.内存优化

刚开始内存会达到8-10G 经过优化参数之后降低到5G

  • 为每个 GitLab 组件设置合适的内存限制,可以避免单个组件消耗过多内存。
  • 修改 gitlab.rb 配置文件,调整 Puma、Sidekiq 和其他关键组件的内存使用。
  • 将 GitLab 的 PostgreSQL 数据库和 Redis 缓存迁移到外部托管服务,可以减轻 GitLab 主机的内存负担。
  • 优化 CI/CD 管道,减少不必要的构建和测试任务。

puma['worker_timeout'] = 30
gitlab_rails['time_zone'] = 'Asia/Shanghai'
puma['worker_processes'] = 2
postgresql['shared_buffers'] = "256MB"
sidekiq['max_concurrency'] = 8
postgresql['max_worker_processes'] = 4
puma['per_worker_max_memory_mb'] = 600
prometheus_monitoring['enable'] = false
sidekiq['min_concurrency'] = 8

通过调整 GitLab 组件的内存限制、使用外部数据库和缓存、优化工作负载、调整日志级别以及持续监控和调优,可以有效降低 GitLab 的内存使用。这些优化措施不仅可以减少内存消耗,还能提高系统的稳定性和性能。 

刷新加载配置配置

gitlab-ctl reconfigure 
gitlab-ctl restart

http://www.lryc.cn/news/367819.html

相关文章:

  • 浅谈JDBC
  • 【数据结构初阶】--- 顺序表
  • 一个完整的java项目通常包含哪些层次(很全面)
  • 设置电脑定时关机
  • Java 编译报错:找不到符号? 手把手教你排查解决!
  • Gitte的使用(Windows/Linux)
  • c++之旅第十弹——IO流
  • 量化交易:Miniqmt获取可转债数据和交易python代码
  • 测试开发之自动化篇 —— 使用Selenium IDE录制脚本!
  • Django 外键关联数据
  • 开源与新质生产力
  • 如何将 Windows图片查看器的背景颜色改成浅色(灰白色)?
  • k8s-pod参数详解
  • 一些计算机网络面试题
  • transformer - 注意力机制
  • 三端植物大战僵尸杂交版来了
  • np.hstack()和np.vstack()函数解释
  • 【Linux】进程5——进程优先级
  • CNN简介与实现
  • 【AI大模型】Transformers大模型库(五):AutoModel、Model Head及查看模型结构
  • Hadoop yixing(移行),新增表字段,删除表字段,修改存储格式
  • 使用汇编和proteus实现仿真数码管显示电路
  • 【Unity】官方文档学习-光照系统
  • 1731. 每位经理的下属员工数量
  • 特征筛选LASSO回归封装好的代码、数据集和结果
  • Autosar 通讯栈配置-手动配置PDU及Signal-基于ETAS软件
  • Web前端工资调整:深入剖析与全面解读
  • cesium已知两个点 写一个简单具有动画尾迹效果的抛物线
  • C#中使用Mysql批量新增数据 MySqlBulkCopy
  • ARM-V9 RME(Realm Management Extension)系统架构之系统安全能力的架构差异