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          10droot@ubuntu:~# kubectl get sc
NAME                         PROVISIONER        RECLAIMPOLICY   VOLUMEBINDINGMODE      ALLOWVOLUMEEXPANSION   AGE
openebs-hostpath (default)   openebs.io/local   Delete          WaitForFirstConsumer   false                  10droot@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: gitlabnamespace: gitlab-system
spec:chart:version: "7.1.2" # https://gitlab.com/gitlab-org/cloud-native/gitlab-operator/-/blob/master/CHART_VERSIONSvalues:global:edition: cehosts:domain: example.comingress:configureCertmanager: truecertmanager-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后界面如下:

在这里插入图片描述

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

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

相关文章

安防监控视频汇聚EasyCVR平台的FLV视频流在VLC中无法播放的原因排查

众所周知&#xff0c;TSINGSEE青犀视频汇聚平台EasyCVR可支持多协议方式接入&#xff0c;包括主流标准协议国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。在视频流的处理与分发上&#xff0c;视频监控…

git和github学习

一、什么是git和github? 二、学会使用github desktop应用程序 初始使用&#xff1a; 一开始我们是新账户&#xff0c;里面是没有仓库的&#xff0c;需要手动创建一个仓库。此时&#xff0c;这个仓库是创建在本地仓库里面&#xff0c;需要用到push命令&#xff08;就是那个pub…

那些你不知道的类和对象的知识

&#x1f388;个人主页:&#x1f388; :✨✨✨初阶牛✨✨✨ &#x1f43b;推荐专栏1: &#x1f354;&#x1f35f;&#x1f32f;C语言初阶 &#x1f43b;推荐专栏2: &#x1f354;&#x1f35f;&#x1f32f;C语言进阶 &#x1f511;个人信条: &#x1f335;知行合一 &#x1f…

JavaScript中的交互的方式alert,prompt,confirm的用法

一.alert的用法 1.alert 它会显示一条信息,弹出的这个带有信息的小窗口被称为模态窗。“modal” 意味着用户不能与页面的其他部分&#xff08;例如点击其他按钮等&#xff09;进行交互&#xff0c;直到他们处理完窗口。在上面示例这种情况下 —— 直到用户点击“确定”按钮。 …

【TiDB理论知识08】HATP概述

1 HTAP技术 OLTP 在线事务 支付 转账 高并发 每次操作的数据量少 &#xff0c;行存 OLAP 报表分析 每次操作大量数据 列存储 2 传统解决方案 数据抽取到数仓或者数据湖 ETL有延迟 &#xff0c;一般会有T1 T2 数据多副本 3 HTAP的要求 4 TIDB的HTAP架构 TiFlash特点&…

RocketMQ 事务消息

事务消息是 RocketMQ 的高级特性之一 。这篇文章&#xff0c;笔者会从应用场景、功能原理、实战例子三个模块慢慢为你揭开事务消息的神秘面纱。 1 应用场景 举一个电商场景的例子&#xff1a;用户购物车结算时&#xff0c;系统会创建支付订单。 用户支付成功后支付订单的状态…

【刷题笔记8.9】LeetCode题目:两数相加

LeetCode题目2&#xff1a;两数相加 题目及描述 给你两个 非空 的链表&#xff0c;表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的&#xff0c;并且每个节点只能存储 一位 数字。 请你将两个数相加&#xff0c;并以相同形式返回一个表示和的链表。 你可以假设…

商城-学习整理-基础-商品服务API-属性分组(七)

目录 一、创建系统菜单二、开发属性分组1、将三级分类功能抽取出来2、编写后端代码3、属性分组新增功能4、属性分组修改回显功能 三、品牌管理1、分页显示有点问题&#xff0c;使用MyBatis-Plus有点问题&#xff0c;需要使用分页插件&#xff0c;给容器中放一个2、修改模糊查询…

支付整体架构

5.4 支付的技术架构 架构即未来&#xff0c;只有建立在技术架构设计良好的体系上&#xff0c;支付机构才能有美好的未来。如果支付的技术体系在架构上存在问题&#xff0c;那么就没有办法实现高可用性、高安全性、高效率和水平可扩展性。 总结多年来在海内外支付机构主持和参与…

Fortinet安全专家问答实录|如何防护暴力破解、撞库攻击

黑客攻防&#xff0c;一个看似神秘&#xff0c;但却必不可缺的领域。近期&#xff0c;全球网络与安全融合领域领导者Fortinet&#xff08;Nasdaq&#xff1a;FTNT&#xff09;&#xff0c;开启了Fortinet DEMO DAY系列实战攻防演练线上直播&#xff0c;让人人都能零距离观摩黑客…

回顾 OWASP 机器学习十大风险

日复一日&#xff0c;越来越多的机器学习 (ML) 模型正在开发中。机器学习模型用于查找训练数据中的模式&#xff0c;可以产生令人印象深刻的检测和分类能力。机器学习已经为人工智能的许多领域提供了动力&#xff0c;包括情感分析、图像分类、面部检测、威胁情报等。 数十亿美…

【C++】开源:ceres和g2o非线性优化库配置使用

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍ceres和g2o非线性优化库配置使用。 无专精则不能成&#xff0c;无涉猎则不能通。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&…