DevOps实战之部署GitLab
目标
- 搭建Redis服务
- 搭建PostgreSQL服务
- 搭建Gitlab服务并配置LDAP登录
环境及镜像版本说明
基础环境
- CentOS 7.6
- Kubernetes 1.18.15
- Docker 19.03.9
Docker Image版本
- postgres:13.2
- redis:6.2.3
- gitlab/gitlab-ce:13.11.4-ce.0
镜像说明:因之前部署了sonarqube,使用了postgres,所以此处使用的镜像版本,与部署Sonar的相同,网上帖子中,普遍使用的gitlab、redis、postgresql均为samessrsbn的版本,我均选择了各组件的官方镜像。此处也可以复用sonar已经部署的postgres,而不用另外创建。
部署
官方部署方式
官方文档推荐使用Helm安装部署,但会安装很多如Grafana、Prometheus等附加组件。
自定义资源清单
只部署了postgres、redis和gitlab,其他组件,有需要时,可自定义清单文件进行配置。其中部署gitlab时,需要手动创建共享存储挂载卷目录/usr/nfs/data/gitlab/data、/usr/nfs/data/gitlab/config、/usr/nfs/data/gitlab/log
配置LDAP
修改配置文件gitlab.rb,容器内路径为/etc/gitlab,容器外为nfs对应目录。修改后,重启pod或在容器内执行gitlab-ctl reconfigure。此处提供两种配置方式,两种仅格式不同,第一种为官方示例格式:
1 | gitlab_rails['ldap_enabled'] = true |
或
1 | ## LDAP Settings |
访问
访问页面,认证窗口处,显示LDAP和Standard两种登录认证方式。
