实战-Terraform部署GitLab-成功测试
实战:Terraform 部署GitLab(泽阳-博客分享-成功测试)-2022.5.7
目录
[TOC]
实验环境
win10笔记本2台centos7.6虚机(1台用作部署gitlabserver(需要具有docker/terraform环境),一台用作跑gitlabrunner)Terraform版本:v1.1.8docker版本:v20.10.11gitlab版本:gitlab/gitlab-ce:14.9.3-ce.0gitlab-ruuner版本:gitlab-runner-14.9.1-1.x86_64.rpm
实验软件
链接:https:/root/remote-vscode[root@devops remote-vscode]#lsgitlab.tf
- 创建本地目录:
[root@devops remote-vscode]#mkdir -p /data/devops4/gitlab/logs[root@devops remote-vscode]#mkdir -p /data/devops4/gitlab/data[root@devops remote-vscode]#mkdir -p /data/devops4/gitlab/config

- 先确认本地主机端口是否被占用
[root@devops remote-vscode]#netstat -antlp|grep80[root@devops remote-vscode]#netstat -antlp|grep443[root@devops remote-vscode]#netstat -antlp|grep2222
2.使用terraform部署gitlab
- 准备好terraform需要用到的配置文件
cat main.tf :
# 定义provider(main.tf)terraform {required_providers {docker ={source ="kreuzwerker/docker"version ="~>2.13.0"}}}
cat gitlab.tf:
resource "docker_image""gitlab"{name ="gitlab/gitlab-ce:14.9.3-ce.0"keep_locally =true
}resource "docker_container""gitlab"{image =docker_image.gitlab.namename ="devops_tutorial_gitlab"ports {#本次课程目前只用到80端口internal =80external =80}ports {internal =443external =443}ports {internal =22external =2222}volumes{container_path ="/etc/gitlab"#gitlab配置文件host_path ="/data/devops4/gitlab/config"}volumes{container_path ="/var/log/gitlab"#gitlab日志文件host_path ="/data/devops4/gitlab/logs"}volumes{container_path ="/var/opt/gitlab"#gitlab数据host_path ="/data/devops4/gitlab/data"}}
- terraform init
[root@devops remote-vscode]#terraform init
- terraform plan
[root@devops remote-vscode]#terraform plan
- terraform apply
[root@devops remote-vscode]#terraform apply
⚠️ 注意:gitlab的镜像很大的,需要2.45GB,因此这里需要等好久,耐心等待即可!(如果实在不行,可先用docker把近线拉取下下来,再执行terraroem命令)
3.验证
- 查看容器状态
[root@devops remote-vscode]#docker ps
- 查看gitlab容器日志
[root@devops remote-vscode]#docker logs -f 790a4c992c45
- 网页验证
- 修改root密码:
点击头像-Preferences-Passsword
,修改密码:
使用修改后的额密码登录gitlab:
结束。😘
注意事项
1.登录gitlab报502错误问题
2.解决容器名解析
问题
这边打开后,会出现问题:
有几种解决办法:
1.修改容器里的配置
2.在自己笔记本的hosts里添加域名解析
方法1:修改容器里的配置
[root@devops remote-vscode]#docker psCONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES790a4c992c45gitlab/gitlab-ce:14.9.3-ce.0"/assets/wrapper"5hoursagoUp5hours(healthy) 0.0.0.0:80->80/tcp,0.0.0.0:443->443/tcp,0.0.0.0:2222->22/tcp devops_tutorial_gitlab[root@devops remote-vscode]#docker exec -it devops_tutorial_gitlab bashroot@790a4c992c45:/#vim/etc/gitlab/gitlab.rb取消注释这行,并将这里的`GENERATED_EXTERNAL_URL`替换为gitlab所在虚拟机的ip即可:
执行生效命令:
root@790a4c992c45:/#gitlab-ctlreconfigure
这里需要稍等一会儿:
重新配置后,我们再次来验证下效果:
这边可以看到,以上那个问题被解决了。😘
方法2:在自己笔记本的hosts里添加域名解析
#C:\WINDOWS\System32\drivers\etc172.29.9.101790a4c992c45
3.一台虚机是可以同时充当几个runner的
gitlab-runnerregister\--non-interactive\--url"http:--registration-token"9Yni-g-svEdGJqZrs2Vv"\--executor"shell"\--description"buildrunner"\--tag-list"build,k8s,go"\--run-untagged="true"\--locked="false"\--access-level="not_protected"
4.gitlab不能跨大版本升级
例如,你是12版本,你只能先升级到12最新版本,然后再升级到1版本,再升级到13最新版本,再升级到14版本! ---2022.5.5
5.gitlab runnergit版本
问题
后续gitlab-ci跑流水线实验时会出问题,因此要升级到2版本以上的!
注意:使用yum remove git后,gitlab-runner会自动被删除的!
因此,升级git版本后,再使用rm -ivh命令安装gitlab-runner时,需要依赖,因此要用yum来安装,但yum安装后是会默认安装老版本git的,因此后面需要先删除/usr/bin/git
再执行如下命令ln -s /usr/local/git/bin/git /usr/bin/git
即可!
yuminstall-ygitlab-runner-14.9.1-1.x86_64.rpm
关于我
我的博客主旨:
- 排版美观,语言精炼;
- 文档即手册,步骤明细,拒绝埋坑,提供源码;
- 本人实战文档都是亲测成功的,各位小伙伴在实际操作过程中如有什么疑问,可随时联系本人帮您解决问题,让我们一起进步!
个人微信二维码:x2675263825 (舍得), qq:2675263825。
个人微信公众号:《云原生架构师实战》
个人csdn