在k8s中使用cert-manager部署gitlab集群

news2024/11/19 16:48:01

写在前面的话:前面有详细的分享过在k8s集群中部署gitlab,不过当时使用gitlab的访问证书是阿里云上免费的ssl证书,今天特意专门介绍下另外一种基于cert-manager发布自签证书的方式实现部署gitlab到k8s集群中。
往期gitlab部署系列如:

  • 基于helm的方式在k8s集群中部署gitlab
  • docker-compose 安装gitlab

环境信息

  • k8s集群版本:v1.24.14
  • containerd版本:containerd containerd.io 1.6.21 3dce8eb055cbb6872793272b4f20ed16117344f8
  • gitlab版本:16.3.6
  • helm版本:v3.10.2

文章目录

    • 环境信息
    • 1. 部署k8s集群版本
    • 2. 添加gitlab的repo 源
    • 3. 拉取目标版本的gitlab charts包
      • 3.1 gitlab版本和charts的版本对应信息
      • 3.2 修改values.yaml文件
    • 4. 部署
      • 4.1 修改gitlab的nginx-ingress为`NodePort`
    • 5. 验证

1. 部署k8s集群版本

参考 基于helm的方式在k8s集群中部署gitlab中的5. 部署k8s集群即可

2. 添加gitlab的repo 源

参考 基于helm的方式在k8s集群中部署gitlab中的6.1 添加gitlab的helm源即可

3. 拉取目标版本的gitlab charts包

3.1 gitlab版本和charts的版本对应信息

在这里插入图片描述

helm fetch gitlab-jh/gitlab --version 7.3.6
tar -xf gitlab-7.3.6.tgz
mv gitlab gitlab-7.3.6-certmanager
cd gitlab-7.3.6-certmanager

3.2 修改values.yaml文件

本地尽可能精简配置,因为只需要修改如下信息
cat values.yaml

global:
  ...
  ...
  # 域名配置
  hosts:
    domain: bdeet.top
    hostSuffix:
    https: true
    externalIP:
    ssh:
      name: gitlabcm.bdeet.top
    gitlab:
      name: gitlabcm.bdeet.top
    minio:
      name: miniocm.bdeet.top
    registry:
      name: registrycm.bdeet.top
    tls: {}
    smartcard: {}
    kas: {}
    pages: {}
  # 禁用kas
  kas:
    enabled: false
...
...
# 启动certmanager-issuer的emails
certmanager-issuer:
  email: wkx_0422@163.com
...
...
# 禁用prometheus
prometheus:
  install: false
...
...
# 禁用gitlab-runner
gitlab-runner:
  install: false

4. 部署

kubectl create ns glcm
helm install glcm gitlab-jh/gitlab --version 7.3.6 --timeout 600s --values values.yaml -n glcm

在这里插入图片描述

4.1 修改gitlab的nginx-ingress为NodePort

说明:这里之所以要修改gitlab的nginx-ingress的访问方式,是因为我们在k8s集群是两台虚拟机,因此通过将LoadBlalancer的方式改成NodePort的方式,但同时会带来另外一个问题,就是我们在dns做域名解析的时候,没有办法做到将gitlab的web端、minio、registry的域名解析到IP:PORT的方式,而由于已经是NodePort的暴露方式,因此暂定集群的node某个节点作为解析的ip,同时我们在浏览器中访问gitlab的时候,我们对应的加上nodeport的端口就可以,格式为https://domian_name:NodePort

修改前
在这里插入图片描述

kubectl edit svc glcm-nginx-ingress-controller -n glcm
...
...
  sessionAffinity: None
  type: NodePort #由LoadBalancer改为NodePort
...
...

修改后
在这里插入图片描述

5. 验证

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

什么是数据可视化?数据可视化的流程与步骤

前言 数据可视化将大大小小的数据集转化为更容易被人脑理解和处理的视觉效果。可视化在我们的日常生活中非常普遍,但它们通常以众所周知的图表和图形的形式出现。正确的数据可视化以有意义和直观的方式为复杂的数据集提供关键的见解。 数据可视化定义 数据可视化…

扫描全能王启动鸿蒙原生应用开发,系HarmonyOS NEXT智能扫描领域首批

近期,“鸿蒙合作签约暨扫描全能王鸿蒙原生应用开发启动仪式”(简称“签约仪式”)正式举行。合合信息与华为达成鸿蒙合作,旗下扫描全能王将基于HarmonyOS NEXT正式启动鸿蒙原生应用开发。据悉,扫描全能王是鸿蒙在智能扫…

【论文笔记】Run, Don’t Walk: Chasing Higher FLOPS for Faster Neural Networks

论文地址:Run, Dont Walk: Chasing Higher FLOPS for Faster Neural Networks 代码地址:https://github.com/jierunchen/fasternet 该论文主要提出了PConv,通过优化FLOPS提出了快速推理模型FasterNet。 在设计神经网络结构的时候&#xff…

Y9000P + ubuntu22.04 配置Anaconda+pycharm +pytorch

Anaconda3 的安装及使用方法安装 Anaconda3 Anaconda3 是 Anaconda 的具体版本 Anaconda3 中的 Python 解释器默认使用的是 Python3.x 版本,而不是 Python2.x 版本 Python2.x 版本中,字符串是以 ASCII 编码处理的,而在 Python3.x 版本中&am…

基于gradio快速部署自己的深度学习模型(目标检测、图像分类、语义分割模型)

gradio是一款基于python的算法快速部署工具,本博文主要介绍使用gradio部署目标检测、图像分类、语义分割模型的部署。相比于flask,使用gradio不需要自己构造前端代码,只需要将后端接口写好即可。此外,基于gradio实现的项目&#x…

浅谈数据仓库运营

一、背景 企业每天都会产生大量的数据,随着时间增长,数据会呈现几何增长,尤其在系统基建基础好的公司。好的数据仓库需要提前规划和好的运营,才能支持企业的发展,为企业提供数据分析基础。 二、目标 提高数据仓库存储…

排序算法讲解

1)排序思想: 2)排序代码: 3)注意点: 4)时间/空间复杂度和稳定性 下面的排序是以实现升序讲解的。 (一)直接插入排序 1)排序思想: 把待排序的…

[Angular] 笔记 10:服务与依赖注入

什么是 Services & Dependency Injection? chatgpt 回答: 在 Angular 中,Services 是用来提供特定功能或执行特定任务的可重用代码块。它们可以用于处理数据、执行 HTTP 请求、管理应用程序状态等。Dependency Injection(依赖注入&#…

竞赛保研 基于人工智能的图像分类算法研究与实现 - 深度学习卷积神经网络图像分类

文章目录 0 简介1 常用的分类网络介绍1.1 CNN1.2 VGG1.3 GoogleNet 2 图像分类部分代码实现2.1 环境依赖2.2 需要导入的包2.3 参数设置(路径,图像尺寸,数据集分割比例)2.4 从preprocessedFolder读取图片并返回numpy格式(便于在神经网络中训练)2.5 数据预…

002、使用 Cargo 创建新项目,打印 Hello World

1. Cargo 简介 Cargo 是 Rust 的构建系统和包管理工具,比如构建代码、下载依赖的库、构建这些库等等。在安装 Rust 时,Cargo也会一起安装。 2. 创建新项目的具体步骤 步骤1: 我们在桌面新建一个文件夹,用于存放后面练习用的代码文…

如何让机器人具备实时、多模态的触觉感知能力?

人类能够直观地感知和理解复杂的触觉信息,是因为分布在指尖皮肤的皮肤感受器同时接收到不同的触觉刺激,并将触觉信号立即传输到大脑。尽管许多研究小组试图模仿人类皮肤的结构和功能,但在一个系统内实现类似人类的触觉感知过程仍然是一个挑战…

【计算机网络】快速做题向 极限数据传输率的计算(有噪声/无噪声)

首先需要理解什么是码元 码元在课本上的概念比较难理解 但是只要记住 二进制码元在图上显示的就是有两种高度的横杠“—”(对应0,1),即,有两种二进制码元 四进制就是有四种高度的横杠“—”(对应00&…

与擎创科技共建一体化“数智”运维体系,实现数字化转型

小窗滴滴小编获取最新版公司简介 前言: 哈喽大家好,最近分享的互联网IT热讯大家都挺喜欢,小编看着数据着实开心,感谢大家支持,小编会继续给大家推送。 新岁即将启封,我们一年一期的运维干货年末大讲也要…

【C++】开源:fast-cpp-csv-parser数据解析库配置使用

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍fast-cpp-csv-parser数据解析库配置使用。 无专精则不能成,无涉猎则不能通。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一…

小程序面试题 | 22.精选小程序面试题

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

亚马逊云科技 re:Invent 大会 - ElastiCache Serverless 模式来袭

大会介绍 亚马逊云科技的 re:Invent 大会是一年一度的,面向全球技术开发者科技盛会。几乎每次都会发布云科技、云计算等相关领域的产品重磅更新,不但将时下主流热门的技术不断整合,也未将来的发展标明了方向。 亚马逊云科技开发者社区为开发…

一键启动Python世界:PyCharm安装全攻略与pyinstaller魔法转换

文章目录 一、 前言二、PyCharm1.PyCharm的介绍2.PyCharm相比较cmd的优势3.PyCharm的下载4.PyCharm的安装4.1 第一步4.2 第二步4.3 第三步4.4 第四步4.5 第五步4.6 第六步4.7 安装完成4.8 同意条款4.9 数据共享4.10 软件界面4.11 新建项目4.12 项目编写和运行4.13 汉化 三、 打…

python消费rabbitmq

队列经常用,能保持信息一致性。也能跨语言,java写的生产者,推到队列中,python写的消费者消费。 这里,生成者,我们是java,已经发了一条消息了。 python是使用pika来链接rabbitmq 安装pika pip…

java SSM课程平台系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM课程平台系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,springspringMVCmybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S…

若依(Spring boot)框架中如何在不同的控制器之间共享与使用数据

在若依框架或Spring boot框架中,控制器共享和使用数据是为了确保数据一致性、传递信息、提高效率和降低系统复杂性。这可以通过全局变量、依赖注入或数据库/缓存等方式实现。共享和使用数据对框架的正常运行非常关键,有助于促进控制器之间的协同工作&…