使用 helm 部署 gitlab

一、下载 Gitlab chart

  1. 进入 artifacthub 官网
    在这里插入图片描述
  2. 选择你想要的版本(我选择的chart版本是 8.4.0 , gitlab 版本是17.4.0 )
    在这里插入图片描述
  3. 进入到控制台,添加helm仓库
  4. 如果你想不改任何配置,你可以执行安装命令,等待安装即可
    helm install my-gitlab gitlab/gitlab --version 8.4.0
    
  5. 我更倾向于把 chart 拉下来,根据自己的需求来修改配置
    在这里插入图片描述

二、修改 Gitlab 配置

  1. 前面已经把安装文件下载到本地,那么把文件解压一下,进入到 values.yaml
  2. 禁用 ingress controller,ingres
    global: ingress:configureCertmanager: falseuseNewIngressForCerts: falseenabled: falsenginx-ingress: &nginx-ingressenabled: false
    
  3. 禁用prometheus, gitlab-runner 等应用
  4. 把镜像替换成个人私有仓库的镜像(其实也是把官方镜像推到个人仓库里)
    • 替换镜像是个麻烦事,可能会漏掉要改的镜像,可以使用 helm template 命令把chart 生成一个模板yaml文件,这样就知道哪里漏改了
    • 进入到gitlab chart 目录里
      在这里插入图片描述
    • 执行 helm template gitlab . > template.yaml 命令,输出 template.yaml 文件
      在这里插入图片描述
    • 打开 template.yaml 文件,就知道要替换的镜像有哪些了

三、部署 Gitlab

  1. 创建 gitlab 命名空间

    kubectl create namespace gitlab
    
  2. 创建 tls 证书

    kubectl -n gitlab create secret tls gitlab-tls \
    --key /data/gzzsy/xx.com.cn.key \
    --cert /data/gzzsy/fullchain.cer
    
  3. 部署 gitlab

    • 进入到gitlab目录里,执行命令

      helm install -n gitlab gitlab . 
      
    • 执行 kubectl get pods -n gitlab ,可以看到运行的pod
      在这里插入图片描述

    • 执行 kubectl get svc -n gitlab ,可以看到运行的service
      在这里插入图片描述

  4. 部署gitlab的ingress

    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:name: gitlab-ingressnamespace: gitlabannotations:nginx.ingress.kubernetes.io/proxy-body-size: "0"nginx.ingress.kubernetes.io/ssl-redirect: "true"
    spec:ingressClassName: nginxrules:- host: xx.com.cnhttp:paths:- path: /pathType: Prefixbackend:service:name: gitlab-webservice-defaultport:number: 8181tls:- hosts:- xx.com.cnsecretName: gitlab-tls
    
  5. 访问gitlab页面, 这样就成功了
    在这里插入图片描述

  6. 获取 gitlab初始化的密码, 账号默认是 root

    • kubectl get secrets -n gitlab
    • kubectl get secrets gitlab-gitlab-initial-root-password -n gitlab -o yaml
      在这里插入图片描述
    • 把加密密码 base64 解密就可以了
  7. 这样gitlab就部署完成了,想要卸载执行

    helm uninstall -n gitlab gitlab
    

看到最后,如果这篇文章对你有帮助的话,欢迎点赞收藏+follow,谢谢!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/60430.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FreeRTOS信号量(一)

目录 什么是信号量? 1.信号量简介 2.二值信号量 2.1二值信号量简介 1. 首先,创建时,二值信号量默认无效 2. 之后中断释放信号量 3.信号量获取成功 4、任务再次进入阻塞态 2.2 创建二值信号量 1、函数vSemaphoreCreateBinary () 2、…

51单片机-独立按键与数码管联动

独立键盘和矩阵键盘检测原理及实现 键盘的分类:编码键盘和非编码键盘 键盘上闭合键的识别由专用的硬件编码器实现,并产生键编码号或键值的称为编码键盘,如:计算机键盘。靠软件编程识别的称为非编码键盘;在单片机组成…

springboot课程答疑系统(代码+数据库+LW)

摘要 随着信息互联网信息的飞速发展,无纸化作业变成了一种趋势,针对这个问题开发一个专门适应师生交流形式的网站。本文介绍了课程答疑系统的开发全过程。通过分析企业对于课程答疑系统的需求,创建了一个计算机管理课程答疑系统的方案。文章…

electron主进程和渲染进程之间的通信

主进程 (main.js) const { app, BrowserWindow, ipcMain } require("electron"); const path require("node:path"); // 导入fs模块 const fs require("fs");const createWindow () > {const win new BrowserWindow({width: 800,height…

MyBatis 的多对一,一对多以及多对多的增删改查的xml映射语句

1. 多对一(Many-to-One) 表结构 users id (INT, 主键)username (VARCHAR)password (VARCHAR)email (VARCHAR)department_id (INT, 外键)created_at (TIMESTAMP) departments id (INT, 主键)name (VARCHAR)created_at (TIMESTAMP) 实体类 public class…

麒麟部署一套mysql集群,使用ansible批量部署可以提高工作效率

一、 服务端和客户端同时配置kylin镜像 配置麒麟的yum源 rm -rf /etc/yum.repos.d/CentOS-Base.repo vim /etc/yum.repos.d/Kylin_aarch64.repo Copy 写入如下yum源 [ks10-adv-os] name = Kylin Linux Advanced Server 10 - Os baseurl = http://update.cs2c.com.cn:8080/…

解锁业务成功:大数据和 AI 如何协作以释放战略洞察

在当今这个数据主导的时代,大数据与AI的协同作用对于寻求竞争优势的组织而言愈发关键。大数据以其庞大的数据量、多样化的数据类型以及高速的数据生成能力,为AI算法提供了丰富的原材料,助力其挖掘出有价值的洞见,推动明智决策的制…

SSL/TLS,SSL,TLS分别是什么

SSL/TLS,SSL,TLS分别是什么 SSL(Secure Sockets Layer,安全套接层) 定义与发展历程: SSL 是一种早期的网络安全协议,旨在为网络通信提供保密性、数据完整性和身份验证等安全保障。它最初由网景…

LaTeX 利用注销 ccmap 宏包实现降重功能

在中文LaTeX中,ccmap 宏包的主要作用是支持复制和粘贴时正确处理中文字符的编码。它的功能对于生成的PDF文档尤其有用,使得PDF中的中文字符在被复制到其他地方时能够以正确的编码显示,而不是乱码或其他不正确的字符。 以下是ccmap的详细功能…

【人工智能】用Python和NLP工具构建文本摘要模型:使用NLTK和spaCy进行自然语言处理

《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 文本摘要是自然语言处理(NLP)中的关键任务之一,广泛应用于新闻、博客、社交媒体和搜索引擎等场景。通过生成简洁而准确的文本摘要,我们可以大大提升信息处理效率。本文将探讨如何使用Python结合NLP工具…

24.UE5枚举,怪物分类,龙卷风技能

2-26 枚举、怪物分类、龙旋风技能、掉落概率_哔哩哔哩_bilibili 目录 1.枚举 1.1枚举类型的创建 1.2 将枚举类型绑定到怪物蓝图上 1.3枚举类型的使用 1.3.1创建新的掉落物 1.3.2更改怪物掉落逻辑 2.龙卷风技能 2.1输入映射 2.2龙卷风发射物的创建 2.3龙卷风伤害逻辑…

故障字故障码 简单介绍

一、故障字 1.1故障字的概念 故障字(Fault Word)是一种常用的技术术语,主要应用在工业控制、嵌入式系统和通信领域,用于表示系统状态或故障信息。它是一个以位为单位的编码方式,每个位(bit)对应…

CSS3_BFC(十二)

BFC MDN对BFC的解释:块格式化上下文(Block Formating Context, BFC)是web页面的可视CSS渲染的一部分,是块盒子的布局过程发生的区域,也是浮动元素与其他元素交互的区域。 1、开启BFC flow-root对内容的影响是最低的&am…

鸿蒙系统ubuntu开发环境搭建

在RISC-V等平台移植鸿蒙系统OpenHarmony,需要使用linux环境进行代码的编译,为兼顾日常办公需要,可采用WindowsUbuntu虚拟机的混合开发的环境,通过网络及文件夹共享,在主机和虚拟机之间共享文件数据。 工具准备&#x…

二叉树oj题解析

二叉树 二叉树的最近公共祖先什么是最近公共祖先?leetcode中求二叉树中最近公共祖先解题1.解题2. 根据二叉树创建字符串 二叉树的最近公共祖先 什么是最近公共祖先? 最近的公共祖先指的是这一棵树中两个节点中深度最大的且公共的祖先节点就是最近祖先节…

优先算法 —— 双指针系列 - 移动零

1. 移动零 题目链接: 283. 移动零 - 力扣(LeetCode)https://leetcode.cn/problems/move-zeroes/description/ 2. 算法原理 其实像移动零这种类型的题目都有一个名字叫做数组划分(数组分块),就是说先给一个…

C语言——数组逐元素操作练习

定义一个能容纳10个元素的整形数组a&#xff0c;从键盘读取9个整数存放到前9个数组元素中。 一. 从键盘读取一个整数n和位置p(0<p<8)&#xff0c;插入n到数组a中&#xff0c;插入位置&#xff1a;下标p。要求插入点及后续的数组元素都要后移动。 代码如下&#xff1a; …

对抗样本存在的原因

对抗样本存在的原因与深度学习模型的结构和训练机制密切相关&#xff0c;主要包括以下几个方面&#xff1a; 1. 模型的高维性和线性化行为 高维性&#xff1a;深度学习模型通常在高维空间中运行&#xff0c;而高维空间中的数据分布非常稀疏。微小的扰动在高维空间可能被放大&a…

【ArcGISPro】根据yaml构建原始Pro的conda环境

使用场景 我们不小心把原始arcgispro-py3的conda环境破坏了,我们就可以使用以下方法进行修复 查找文件 在arcgis目录下找到yaml文件 如果没找到请复制以下内容到新的yaml文件 channels: - esri - defaults dependencies: - anyio=4.2.0=py311haa95532_0 - appdirs=1.4.4=p…

Java将PDF保存为图片

将 PDF 文件转换为图片是常见的需求之一&#xff0c;特别是在需要将 PDF 内容以图像形式展示或处理时。其中最常用的是 Apache PDFBox。 使用 Apache PDFBox Apache PDFBox 是一个开源的 Java 库&#xff0c;可以用来处理 PDF 文档。它提供了将 PDF 页面转换为图像的功能。 …