EchoMemo - GitLab
type: channel
link: https://blog.tearth.cn/index.php/tag/GitLab/
items: 部署GitLab

部署GitLab
type: item
date: 2024-09-27T09:52:00+00:00
description: 环境kubernets version：v1.27.15Docker version：27.0.3Helm version：v3.15.2GitLab version：v17.4.1快速启动添加helm gitlab chart仓库helm repo add gitlab https://charts.gitlab.io helm repo update执行下面命令快速进行部署helm upgrade --install gitlab gitlab/gitlab \ --version 8.4.1 \ --timeout 6000s \ --set global.hosts.domain=example.com \ --set certmanager-issuer.email=mail@example.com \ --namespace=gitlab \ --create-namespace这里我们快速启动一套GitLab服务，这里选择自定义了一些配置项--version 8.4.1 ：Chart版本为8.4.1，对应的GitLab版本为v17.4.1--timeout 6000s：部署超时时间为6000sglobal.hosts.domain=example.com：配置域名，后续实际生成的域名会根据所配置的域名进行扩展，比如配置了example.com，后续GitLab服务的域名就是gitlab.example.com，Minio服务的域名为minio.example.com。当然，也可以针对每个组件服务自定义域名，详情查看values.yaml或者查阅官方文档certmanager-issuer.email：当使用certmanager提供的证书，必须提供一个邮箱除此，其余配置都为默认配置。等待片刻，Job执行完成，Pod启动成功，就可以使用域名在浏览器访问GitLab了。默认的用户名为：root，密码可通过下面命令获取：kubectl get secret -n gitlab gitlab-gitlab-initial-root-password -ojsonpath='{.data.password}' | base64 --decode ; echo自定义部署在很多情况下，我们不需要安装chart中的所有组件，比如集群环境中已经部署certmanager或者计划使用已有的证书，那就不需要再安装certmanager，我们就可以certmanager.install设置为false，同时设置global.ingress.tls.secretName来自定义证书；还有，如果不需要部署runner服务，那我们就可以将gitlab-runner.install设置为false避免安装runner。配置私有镜像仓库配置私有镜像仓库，加快镜像拉取速度global: enterpriseImages: # Default repositories used to pull Gitlab Enterprise Edition images. # See the image.repository and workhorse.repository template helpers. migrations: repository: docker.example.com/gitlab-org/build/cng/gitlab-toolbox-ee sidekiq: repository: docker.example.com/gitlab-org/build/cng/gitlab-sidekiq-ee toolbox: repository: docker.example.com/gitlab-org/build/cng/gitlab-toolbox-ee webservice: repository: docker.example.com/gitlab-org/build/cng/gitlab-webservice-ee workhorse: repository: docker.example.com/gitlab-org/build/cng/gitlab-workhorse-ee geo-logcursor: repository: docker.example.com/gitlab-org/build/cng/gitlab-geo-logcursor certificates: image: repository: docker.example.com/gitlab-org/build/cng/certificates kubectl: image: repository: docker.example.com/gitlab-or…