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

记录一下在k3s快速创建gitlab

废话不多说,直接上配置文件

需要修改的地方(备注都有写):

1.命名空间  namespace 

2. claimName  文件挂载

Deployment

kind: Deployment
apiVersion: apps/v1
metadata:
  name: gitlab
  namespace: cicd  # 替换为您的命名空间
  labels:
    k8s.kuboard.cn/layer: svc
    k8s.kuboard.cn/name: gitlab
  annotations: {}
spec:
  replicas: 1
  selector:
    matchLabels:
      k8s.kuboard.cn/layer: svc
      k8s.kuboard.cn/name: gitlab
  template:
    metadata:
      creationTimestamp: null
      labels:
        k8s.kuboard.cn/layer: svc
        k8s.kuboard.cn/name: gitlab
      annotations:
        kubectl.kubernetes.io/restartedAt: '2025-01-16T09:08:15+08:00'
    spec:
      volumes:
        - name: gitlab-data
          persistentVolumeClaim:
            claimName: gitlab-pvc  # 替换为您的 PVC 名称
      containers:
        - name: gitlab
          image: 'gitlab/gitlab-ce:14.3.5-ce.0'
          envFrom:
            - configMapRef:
                name: gitlab-env
          env:
            - name: TZ
              value: Asia/Shanghai
            - name: GITLAB_OMNIBUS_CONFIG
              valueFrom:
                configMapKeyRef:
                  name: gitlab-env
                  key: gitlab-config
          resources: {}
          volumeMounts:
            - name: gitlab-data
              mountPath: /var/opt/gitlab
              subPath: data/gitlab/data
            - name: gitlab-data
              mountPath: /var/log/gitlab
              subPath: data/gitlab/logs
            - name: gitlab-data
              mountPath: /etc/gitlab
              subPath: data/gitlab/config
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          imagePullPolicy: IfNotPresent
      restartPolicy: Always
      terminationGracePeriodSeconds: 30
      dnsPolicy: ClusterFirst
      securityContext: {}
      schedulerName: default-scheduler
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxUnavailable: 25%
      maxSurge: 25%
  revisionHistoryLimit: 10
  progressDeadlineSeconds: 600

注意:gitlab/gitlab-ce:14.3.5-ce.0 其中的版本,如果更换可以不可以没试过哈。

Service


kind: Service
apiVersion: v1
metadata:
  name: gitlab
  namespace: cicd  # 替换为您的命名空间
  labels:
    k8s.kuboard.cn/layer: svc
    k8s.kuboard.cn/name: gitlab
spec:
  ports:
    - name: http
      protocol: TCP
      port: 80
      targetPort: 80
      nodePort: 30009  # 根据需要调整
    - name: https
      protocol: TCP
      port: 443
      targetPort: 443
      nodePort: 30718  # 根据需要调整
    - name: ssh
      protocol: TCP
      port: 22
      targetPort: 22
      nodePort: 30256  # 根据需要调整
  selector:
    k8s.kuboard.cn/layer: svc
    k8s.kuboard.cn/name: gitlab
  type: NodePort
  sessionAffinity: None
  externalTrafficPolicy: Cluster
  ipFamilies:
    - IPv4
  ipFamilyPolicy: SingleStack
  internalTrafficPolicy: Cluster

ConfigMap

kind: ConfigMap
apiVersion: v1
metadata:
  name: gitlab-env
  namespace: cicd  # 替换为您的命名空间
data:
  gitlab-config: |-
    external_url 'http://gitlab.yourdomain.com'  # 替换为您的 GitLab 外部访问地址
    gitlab_rails['gitlab_shell_ssh_port'] = 2222

PersistentVolumeClaim 与 PersistentVolume

稍微给一个demo(可不用哈)

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: gitlab-pvc  # PVC 名称
  namespace: cicd  # 替换为您的命名空间
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 100Gi  # 根据需求调整存储大小
  storageClassName: nfs-class  # 使用您的 NFS 存储类
apiVersion: v1
kind: PersistentVolume
metadata:
  annotations:
    pv.kubernetes.io/provisioned-by: nfs-nfs-class
  finalizers:
    - kubernetes.io/pv-protection
  name: gitlab-pv
  resourceVersion: '5781171'
spec:
  accessModes:
    - ReadWriteMany
  capacity:
    storage: 100Gi
  claimRef:
    apiVersion: v1
    kind: PersistentVolumeClaim
    name: gitlab-pvc
    namespace: cicd
  nfs:
    path: /k3s/gitlab
    server: 192.168.1.x
  persistentVolumeReclaimPolicy: Retain
  storageClassName: nfs-class
  volumeMode: Filesystem

部署成功

查看密码(初始密码)

控制台输入命令

cat /etc/gitlab/initial_root_password

密码就是上面的那一串位置。

修改密码


 博主新推出的gitee免费开源项目(商城+APP+小程序+H5),有兴趣的小伙伴可以了解一下。

生鲜商城kxmall-小程序 + App + 公众号H5: kxmall-生鲜商城+APP+小程序+H5。同时支持微信小程序、H5、安卓App、苹果App。支持集群部署,单机部署。可用于B2C商城,O2O外卖,社区超市,生鲜【带配套骑手端配送系统】。kxmall使用uniapp编码。使用Java开发,SpringBoot 2.1.x框架,MyBatis-plus持久层框架、Redis作为缓存、MySql作为数据库。前端vuejs作为开发语言。https://gitee.com/zhengkaixing/kxmall

  • 阿里云服务器折扣场:点我进入  
  • 腾讯云服务器秒杀场:点我进入  

http://www.kler.cn/a/563921.html

相关文章:

  • C++ Qt常见面试题(2):QT中的文件流(QTextStream)和数据流(QDataStream)的区别
  • kotlin 知识点三 扩展函数和运算符重载
  • java后端开发day21--面向对象进阶(二)--继承进阶
  • 实习复习DAY1
  • LLM大语言模型私有化部署-使用Dify的工作流编排打造专属AI诗词数据分析师
  • 进入DeepSeek部署第一阵营后,奇墨科技推进多元应用场景落地
  • CentOS系统安装NFS
  • Harmony开发笔记(未完成)
  • Linux部署dnsmasq软件
  • OpenCV(10):视频目标跟踪、视频背景减除
  • [2/11]C#性能优化-不要使用空析构函数-每个细节都有示例代码
  • 结构型模式 - 组合模式 (Composite Pattern)
  • Prompt——绘制泳道图
  • vue3-07模拟vue3的响应式原理Proxy (代理对象)与Reflect (反射对象)
  • 《论企业集成平台的理解与应用》审题技巧 - 系统架构设计师
  • 判断一个链表是否为回文结构(C++)
  • 【01】Cocos游戏开发引擎从0开发一款游戏-cocos环境搭建以及配置-Cocos Creator软件系统下载安装-node环境-优雅草卓伊凡
  • 数仓搭建实操(传统数仓orale):DM数据集市层
  • 《论软件维护方法及其应用》审题技巧 - 系统架构设计师
  • 初识Skywalking