kubernetes基于helm部署gitlab-operator

kubernetes基于helm部署gitlab-operator

这篇博文介绍如何在 Kubernetes 中使用helm部署 GitLab-operator。

先决条件

  • 已运行的 Kubernetes 集群
  • 负载均衡器,为ingress-nginx控制器提供EXTERNAL-IP,本示例使用metallb
  • 默认存储类,为gitlab pods提供持久化存储,本示例使用openebs
  • cert-manager,为gitlab提供自签名证书
root@ubuntu:~# kubectl -n metallb-system get pods 
NAME                                  READY   STATUS    RESTARTS   AGE
metallb-controller-7d644d8b89-8748v   1/1     Running   0          10d
metallb-speaker-mbjfb                 1/1     Running   0          10d

root@ubuntu:~# kubectl get sc
NAME                         PROVISIONER        RECLAIMPOLICY   VOLUMEBINDINGMODE      ALLOWVOLUMEEXPANSION   AGE
openebs-hostpath (default)   openebs.io/local   Delete          WaitForFirstConsumer   false                  10d

root@ubuntu:~# kubectl -n cert-manager get pods
NAME                                       READY   STATUS    RESTARTS   AGE
cert-manager-7bd4d4cdff-8fbtb              1/1     Running   0          10d
cert-manager-cainjector-5cdc7f9c66-k494w   1/1     Running   0          10d
cert-manager-webhook-77c8d4fd8d-lwxxt      1/1     Running   0          10d

项目地址:https://gitlab.com/gitlab-org/cloud-native/gitlab-operator

官方文档:https://docs.gitlab.com/operator/installation.html

在这里插入图片描述

部署gitlab-operator

添加gitlab-operator helm 仓库

helm repo add gitlab-operator https://gitlab.com/api/v4/projects/18899486/packages/helm/stable

使用helm部署gitlab-operator

helm upgrade --install gitlab-operator gitlab-operator/gitlab-operator \
  --namespace gitlab-system \
  --create-namespace

查看运行的gitlab-operator pods

root@ubuntu:~# kubectl -n gitlab-system get pods 
NAME                                        READY   STATUS    RESTARTS   AGE
gitlab-controller-manager-8f9956d6f-78h26   2/2     Running   0          22s

创建 GitLab 自定义资源 (CR)

$ cat mygitlab.yaml
apiVersion: apps.gitlab.com/v1beta1
kind: GitLab
metadata:
  name: gitlab
  namespace: gitlab-system
spec:
  chart:
    version: "7.1.2" # https://gitlab.com/gitlab-org/cloud-native/gitlab-operator/-/blob/master/CHART_VERSIONS
    values:
      global:
        edition: ce
        hosts:
          domain: example.com
        ingress:
          configureCertmanager: true
      certmanager-issuer:
        email: youremail@example.com

部署gitlab实例

kubectl apply -f mygitlab.yaml

查看运行的pods

root@ubuntu:~# kubectl -n gitlab-system get pods
NAME                                              READY   STATUS      RESTARTS   AGE
gitlab-controller-manager-8f9956d6f-78h26         2/2     Running     0          6m20s
gitlab-gitaly-0                                   1/1     Running     0          4m2s
gitlab-gitlab-exporter-5995f6684b-fjpjz           1/1     Running     0          3m20s
gitlab-gitlab-shell-7994f99cb6-r2s8n              1/1     Running     0          3m21s
gitlab-kas-766596f95c-4ljtx                       1/1     Running     0          3m20s
gitlab-migrations-1-f92-1-4rhpc                   0/1     Completed   0          3m20s
gitlab-minio-597fdc58cd-74k6r                     1/1     Running     0          4m2s
gitlab-minio-create-buckets-1-wghhz               0/1     Completed   0          4m2s
gitlab-nginx-ingress-controller-cdb4f99d6-l9tqm   1/1     Running     0          4m22s
gitlab-nginx-ingress-controller-cdb4f99d6-pmf9p   1/1     Running     0          4m22s
gitlab-postgresql-0                               2/2     Running     0          4m2s
gitlab-redis-master-0                             2/2     Running     0          4m2s
gitlab-registry-ddb69f4c9-cqrrq                   1/1     Running     0          3m21s
gitlab-shared-secrets-1-z8p-ntk7g                 0/1     Completed   0          4m22s
gitlab-sidekiq-all-in-1-v2-74489fc8b9-b7s2z       1/1     Running     0          87s
gitlab-toolbox-668cb9bdc7-nhx89                   1/1     Running     0          3m20s
gitlab-webservice-default-558795cff7-zvwsq        2/2     Running     0          87s

查看service,确认gitlab-nginx-ingress-controller service是否分配EXTERNAL-IP

root@ubuntu:~# kubectl -n gitlab-system get svc
NAME                                        TYPE           CLUSTER-IP    EXTERNAL-IP      PORT(S)                                   AGE
gitlab-controller-manager-metrics-service   ClusterIP      10.96.0.121   <none>           8443/TCP                                  6m48s
gitlab-gitaly                               ClusterIP      None          <none>           8075/TCP,9236/TCP                         4m30s
gitlab-gitlab-exporter                      ClusterIP      10.96.0.110   <none>           9168/TCP                                  3m48s
gitlab-gitlab-shell                         ClusterIP      10.96.3.153   <none>           22/TCP                                    3m49s
gitlab-kas                                  ClusterIP      10.96.3.81    <none>           8150/TCP,8153/TCP,8154/TCP,8151/TCP       3m48s
gitlab-minio-svc                            ClusterIP      10.96.0.154   <none>           9000/TCP                                  4m30s
gitlab-nginx-ingress-controller             LoadBalancer   10.96.3.92    192.168.72.200   80:31118/TCP,443:30763/TCP,22:32004/TCP   4m50s
gitlab-nginx-ingress-controller-metrics     ClusterIP      10.96.2.133   <none>           10254/TCP                                 4m50s
gitlab-postgresql                           ClusterIP      10.96.2.120   <none>           5432/TCP                                  4m30s
gitlab-postgresql-hl                        ClusterIP      None          <none>           5432/TCP                                  4m30s
gitlab-postgresql-metrics                   ClusterIP      10.96.0.76    <none>           9187/TCP                                  4m30s
gitlab-redis-headless                       ClusterIP      None          <none>           6379/TCP                                  4m30s
gitlab-redis-master                         ClusterIP      10.96.3.221   <none>           6379/TCP                                  4m30s
gitlab-redis-metrics                        ClusterIP      10.96.0.82    <none>           9121/TCP                                  4m30s
gitlab-registry                             ClusterIP      10.96.1.1     <none>           5000/TCP                                  3m49s
gitlab-webhook-service                      ClusterIP      10.96.2.47    <none>           443/TCP                                   6m48s
gitlab-webservice-default                   ClusterIP      10.96.2.13    <none>           8080/TCP,8181/TCP,8083/TCP                3m48s

查看ingress

root@ubuntu:~# kubectl -n gitlab-system get ingress
NAME                        CLASS          HOSTS                  ADDRESS          PORTS     AGE
gitlab-kas                  gitlab-nginx   kas.cloudce.com        192.168.72.201   80, 443   4m17s
gitlab-minio                gitlab-nginx   minio.cloudce.com      192.168.72.201   80, 443   4m59s
gitlab-registry             gitlab-nginx   registry.cloudce.com   192.168.72.201   80, 443   4m18s
gitlab-webservice-default   gitlab-nginx   gitlab.cloudce.com     192.168.72.201   80, 443   4m17s

查看pv卷

root@ubuntu:~# kubectl -n gitlab-system get pv
NAME                                       CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM                                                    STORAGECLASS       REASON   AGE
pvc-0465c308-b141-409a-b6bc-24045c2ec944   8Gi        RWO            Delete           Bound    gitlab-system/data-gitlab-postgresql-0                   openebs-hostpath            5m33s
pvc-49fae8fb-ce89-4001-888d-03aa39bd2143   8Gi        RWO            Delete           Bound    gitlab-system/redis-data-gitlab-redis-master-0           openebs-hostpath            5m32s
pvc-7a77d996-1115-4a1c-9bb0-d3fe91441482   50Gi       RWO            Delete           Bound    gitlab-system/repo-data-gitlab-gitaly-0                  openebs-hostpath            5m34s
pvc-ea6981f6-742b-40c8-be1e-ad7cea21845c   10Gi       RWO            Delete           Bound    gitlab-system/gitlab-minio                               openebs-hostpath            5m32s

访问gitlab

获取gitlab UI root用户的登陆密码

root@ubuntu:~# kubectl -n gitlab-system get secret gitlab-gitlab-initial-root-password -ojsonpath='{.data.password}' | base64 --decode ; echo
bvTyB0UUwXA3VhVywKOIzdD29KVJV64LB2Td0pyzAJUYe8pcTTOFSYla1SVpXeIx

获取gitlab UI 登陆的URL地址,如果设置 global.hosts.domain=example.com,那么访问地址为

https://gitlab.example.com

配置本地域名解析,其中192.168.72.200为上文gitlab-nginx-ingress-controller service的EXTERNAL-IP

gitlab.example.com 192.168.72.200

登录gitlab后界面如下:

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AWD攻防学习总结(草稿状态,待陆续补充)

AWD攻防学习总结 防守端1、修改密码2、备份网站3、备份数据库4、部署WAF5、部署文件监控脚本6、部署流量监控脚本/工具7、D盾扫描&#xff0c;删除预留webshell8、代码审计&#xff0c;seay/fortify扫描&#xff0c;漏洞修复及利用9、时刻关注流量和积分信息&#xff0c;掉分时…

Java经典面试题总结(一)

Java经典面试题总结&#xff08;一&#xff09; 题一&#xff1a;Java编译运行原理题二&#xff1a;JDK&#xff0c;JVM&#xff0c;JRE三者之间的关系题三&#xff1a;谈一下对冯诺依曼体系的了解题四&#xff1a;重载与重写的区别题五&#xff1a;拆箱装箱是指什么&#xff1…

在矩池云使用ChatGLM-6B ChatGLM2-6B

ChatGLM-6B 和 ChatGLM2-6B都是基于 General Language Model (GLM) 架构的对话语言模型&#xff0c;是清华大学 KEG 实验室和智谱 AI 公司于 2023 年共同发布的语言模型。模型有 62 亿参数&#xff0c;一经发布便受到了开源社区的欢迎&#xff0c;在中文语义理解和对话生成上有…

Flink多流处理之connect拼接流

Flink中的拼接流connect的使用其实非常简单,就是leftStream.connect(rightStream)的方式,但是有一点我们需要清楚,使用connect后并不是将两个流给串联起来了,而是将左流和右流建立一个联系,作为一个大的流,并且这个大的流可以使用相同的逻辑处理leftStream和rightStream,也可以…

学习pytorch

学习pytorch 1. 环境安装配置镜像源conda命令记录遇到的问题1. torch.cuda.is_available() False 1. 环境安装 B站小土堆视频 配置镜像源 conda config --show channels conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/mainhttp://www.m…

canvas实现代码雨

学习抖音&#xff1a; 渡一前端必修课 效果图&#xff1a; 全部代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge">&…

idea使用protobuf

本文参考&#xff1a;https://blog.csdn.net/m0_37695902/article/details/129438549 再次感谢分享 什么是 protobuf &#xff1f; Protocal Buffers(简称protobuf)是谷歌的一项技术&#xff0c;用于结构化的数据序列化、反序列化。 由于protobuf是跨语言的&#xff0c;所以用…

【Linux命令行与Shell脚本编程】第十六章 Shell函数

Linux命令行与Shell脚本编程 第一章 文章目录 Linux命令行与Shell脚本编程六.函数6.1.脚本函数基础6.1.1.创建函数6.1.2.使用函数 6.2.函数返回值6.2.1.默认的退出状态码6.2.2.使用return命令6.2.3.使用函数输出 6.3.函数中使用变量6.3.1.向函数传递参数6.3.2.在函数中处理变量…

Spring 是如何解决循环依赖问题的?

项目场景&#xff1a; 提示&#xff1a;这里简述项目相关背景&#xff1a; 例如&#xff1a;项目场景&#xff1a;示例:通过蓝牙芯片(HC-05)与手机 APP 通信&#xff0c;每隔 5s 传输一批传感器数据(不是很大) 问题描述 我们都知道&#xff0c;如果在代码中&#xff0c;将两个…

机器学习深度学习——循环神经网络RNN

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位即将上大四&#xff0c;正专攻机器学习的保研er &#x1f30c;上期文章&#xff1a;机器学习&&深度学习—语言模型和数据集 &#x1f4da;订阅专栏&#xff1a;机器学习&&深度学习 希望文章对你们有所帮助…

c++ 运算符重载

为什么要有运算符重载&#xff1f; 观察下列代码&#xff0c;当我们要比较两个日期类(自定义类型)的大小的时候&#xff0c;我们没法使用编译器自带的小于<符号来比较&#xff0c;就像这样的形式&#xff1a;d1 < d2 我们需要自己写一个函数来进行比较&#xff0c;这是很…

YOLOv5源码中的参数超详细解析(2)— 配置文件yolov5s.yaml

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。YOLOv5配置了5种不同大小的网络模型&#xff0c;分别是YOLOv5n、YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x&#xff0c;其中YOLOv5n是网络深度和宽度最小但检测速度最快的模型&#xff0c;其他4种模型都是在YOLOv5n的基础上不断…

深度补全算法-CompletionFormer-已开源效果最好

《CompletionFormer: Depth Completion with Convolutions and Vision Transformers 》 摘要 给定稀疏深度和相应的 RGB 图像&#xff0c;深度补全旨在整个图像中空间传播稀疏测量值&#xff0c;以获得密集的深度预测。尽管基于深度学习的深度补全方法取得了巨大进步&#xff0…

分清性能测试,负载测试,压力测试这三个的区别

做测试一年多来&#xff0c;虽然平时的工作都能很好的完成&#xff0c;但最近突然发现自己在关于测试的整体知识体系上面的了解很是欠缺&#xff0c;所以&#xff0c;在工作之余也做了一些测试方面的知识的补充。不足之处&#xff0c;还请大家多多交流&#xff0c;互相学习。 …

从 GPT4All 体验 LLM

推荐&#xff1a;使用 NSDT场景编辑器 助你快速搭建可编辑的3D应用场景 什么是 GPT4All&#xff1f; 术语“GPT”源自 Radford 等人 2018 年论文的标题“通过生成预训练提高语言理解”。本文描述了如何证明变压器模型能够理解人类语言。 从那时起&#xff0c;许多人尝试使用转…

UNIX 入门

与 UNIX 建立连接启动会话登录命令提示符修改口令退出系统 简单的 UNIX 命令命令格式ls 命令who 命令虚拟终端 tty伪终端 ptywho am i 命令 cal 命令help 命令man 命令 shell 概述shell 命令更换 shell临时更改 shell永久更改 shell 登录过程 与 UNIX 建立连接 启动会话 要启…

爬虫010_列表高级_添加_append_extend_修改_查询_in_not int_删除_del_pop_remove---python工作笔记029

然后再来看列表操作 首先添加append方法 然后插入,坐标是要插入的下标,右边是插入的内容 看结果 1,2,3,4,5,6 然后这个extend,是逐个插入,放到后边 然后是修改,直接对下标赋值 看结果</

Matlab之利用MarkerFaceColor来填充marker

matlab画图在加一些marker的时候, 有实心的圆圈, 比如: plot(x,y,.r,MarkerSize,20)但是如果想要一个很大的marker, 就需要把这个markersize调得很大, 比如MarkerSize20 但是也可以用空心的圆圈然后把中间涂上颜色, 这样调整起来更方便. 比如: plot(x,y,or,MarkerSize,5,Mar…

【LeetCode每日一题】——219.存在重复元素II

文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时间频度】九【代码实现】十【提交结果】 一【题目类别】 哈希表 二【题目难度】 简单 三【题目编号】 219.存在重复元素II 四【题目描述】 给你一个…

MySQL多实例下安装不同的版本

MySQL多版本安装 主要步骤&#xff1a; 1. 在/etc/my.cnf 配置中&#xff0c;更改对应配置。相对于同一版本多实例需要配置的参数&#xff0c;不同版本多实例需要多配置basedir参数&#xff0c;指向mysql的解压目录。 2. 初始化数据目录。进入对应解压的MySQL目录&#xff…