使用 helm 部署 gitlab

一、下载 Gitlab chart

  1. 进入 artifacthub 官网

  2. 选择你想要的版本(我选择的chart版本是 8.4.0 , gitlab 版本是17.4.0 )

  3. 进入到控制台,添加helm仓库

  4. 如果你想不改任何配置,你可以执行安装命令,等待安装即可

    powershell 复制代码
    helm install my-gitlab gitlab/gitlab --version 8.4.0
  5. 我更倾向于把 chart 拉下来,根据自己的需求来修改配置

二、修改 Gitlab 配置

  1. 前面已经把安装文件下载到本地,那么把文件解压一下,进入到 values.yaml

  2. 禁用 ingress controller,ingres

    yaml 复制代码
    global: 
      ingress:
        configureCertmanager: false
        useNewIngressForCerts: false
        enabled: false
    
    nginx-ingress: &nginx-ingress
      enabled: false
  3. 禁用prometheus, gitlab-runner 等应用

  4. 把镜像替换成个人私有仓库的镜像(其实也是把官方镜像推到个人仓库里)

    • 替换镜像是个麻烦事,可能会漏掉要改的镜像,可以使用 helm template 命令把chart 生成一个模板yaml文件,这样就知道哪里漏改了
    • 进入到gitlab chart 目录里
    • 执行 helm template gitlab . > template.yaml 命令,输出 template.yaml 文件
    • 打开 template.yaml 文件,就知道要替换的镜像有哪些了

三、部署 Gitlab

  1. 创建 gitlab 命名空间

    bash 复制代码
    kubectl create namespace gitlab
  2. 创建 tls 证书

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

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

      bash 复制代码
      helm install -n gitlab gitlab . 
    • 执行 kubectl get pods -n gitlab ,可以看到运行的pod

    • 执行 kubectl get svc -n gitlab ,可以看到运行的service

  4. 部署gitlab的ingress

    yaml 复制代码
    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: gitlab-ingress
      namespace: gitlab
      annotations:
        nginx.ingress.kubernetes.io/proxy-body-size: "0"
        nginx.ingress.kubernetes.io/ssl-redirect: "true"
    spec:
      ingressClassName: nginx
      rules:
        - host: xx.com.cn
          http:
            paths:
              - path: /
                pathType: Prefix
                backend:
                  service:
                    name: gitlab-webservice-default
                    port:
                      number: 8181
      tls:
        - hosts:
            - xx.com.cn
          secretName: 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就部署完成了,想要卸载执行

    bash 复制代码
    helm uninstall -n gitlab gitlab

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

相关推荐
菜鸡00012 天前
把一个项目传到 GitLab 的某个群组
大数据·elasticsearch·gitlab
AlbertS2 天前
记一次推送lfs失败不能迁移git仓库到新的gitlab的问题
git·ai·gitlab·lfs·rejected
日更嵌入式的打工仔3 天前
Windows 下 GitLab 完整使用指南
windows·gitlab
会飞的大可3 天前
Jenkins vs GitLab CI/CD:2026 企业级 CI/CD 工具深度选型评测
ci/cd·gitlab·jenkins
庭風3 天前
让 AI 从需求直接走到 MR:我开源了一个面向 GitLab 的工作流 MCP
gitlab
Sakuyu434684 天前
Git-GitLab-JenKins
git·gitlab·jenkins
Aaron_dw4 天前
基于 Jenkins + GitLab + 自动化测试的 CI/CD 自动化系统方案(IaC + 弹性构建节点)
ci/cd·gitlab·jenkins
虎头金猫4 天前
自建 GitLab 没公网?用内网穿透技术,远程开发协作超丝滑
运维·服务器·网络·开源·gitlab·开源软件·开源协议
MinterFusion5 天前
如何在openKylin下安装并配置GitLab(v0.1.1)
gitlab·系统维护·devops工具·麒麟操作系统·明德融创·openkylin
我就是你毛毛哥6 天前
Docker 安装 GitLab
docker·容器·gitlab