三、容器云-GitLab部署 (K8s集群中)

iqor 2026-1-12 76 1/12

GitLab 部署启动!接下来的活儿:牵好仓库、捋顺权限,顺便给代码安置豪华别墅~~~~~~~~~~~~

前置说明:(需要请点击获取)

1、CICD-Runners-demo2048.tar.gz

四、GitLab部署(K8s集群)

1. 解压软件包

说明:解压CICD相关软件包,准备部署资源(上传至opt下)

cd /opt/
tar -zxf CICD-Runners-demo2048.tar.gz

2. 导入镜像到容器运行时

docker load -i gitlab-ci/images/images.tar 

3. 创建GitLab专属命名空间

说明:按要求创建名为gitlab-ci的命名空间

kubectl create ns gitlab-ci

4. 切换到部署目录

cd gitlab-ci/

5. 编写GitLab部署YAML文件

说明:定义GitLab Deployment,设置存储卷、密码、端口等核心配置

vi gitlab-deploy.yaml

YAML文件内容

apiVersion: apps/v1
kind: Deployment
metadata:
  name: gitlab          # 按要求定义名称为gitlab
  namespace: gitlab-ci  # 部署于gitlab-ci命名空间内
  labels:
    app: gitlab
spec:
  selector:
    matchLabels:
      app: gitlab
  template:
    metadata:
      name: gitlab
      labels:
        app: gitlab
    spec:
      containers:
      - name: gitlab
        image: gitlab/gitlab-ce:latest
        imagePullPolicy: IfNotPresent
        env:
        - name: GITLAB_ROOT_PASSWORD
          value: "admin@123"    # 按要求设置root用户密码为admin@123
        - name: GITLAB_ROOT_EMAIL
          value: "1234567890@qq.com"
        ports:
        - name: http
          containerPort: 80
        volumeMounts:
        - name: gitlab-config
          mountPath: /etc/gitlab
        - name: gitlab-logs
          mountPath: /var/log/gitlab
        - name: gitlab-data
          mountPath: /var/opt/gitlab
      volumes:
      - name: gitlab-config
        hostPath:
          path: /home/gitlab/conf
      - name: gitlab-logs
        hostPath:
          path: /home/gitlab/logs
      - name: gitlab-data
        hostPath:
          path: /home/gitlab/data

6. 部署GitLab

kubectl apply -f gitlab-deploy.yaml 

7. 创建NodePort类型Service

说明:按要求暴露80端口为30880,命名为gitlab,部署在gitlab-ci命名空间

kubectl create svc nodeport gitlab --tcp=80 --node-port=30880 -n gitlab-ci

8. 查看Pod信息

说明:确认Pod运行状态和IP地址

kubectl get pods -n gitlab-ci -owide

9. 查看Service详情

说明:重点验证Endpoints是否关联Pod IP,确保可访问Web界面

kubectl describe service gitlab -n gitlab-ci 

10. 配置CoreDNS静态解析

说明:编辑CoreDNS配置添加静态解析规则,使集群内可解析GitLab Pod

kubectl edit configmap coredns -n kube-system

需添加的配置段

...
hosts {
10.244.0.20 gitlab-5664855986-chqft
}
fallthrough
prometheus :9153
...

11. 重启CoreDNS使配置生效

kubectl -n kube-system rollout restart deploy coredns

12. 进入GitLab容器修改外部访问URL

说明:替换Pod名称为实际运行的GitLab Pod名称

kubectl exec -ti -n gitlab-ci gitlab-5664855986-2ttz8 bash
vi /etc/gitlab/gitlab.rb 
# 在文件中添加/修改:external_url 'http://192.168.108.159:30880'
#执行此命令使配置生效
gitlab-ctl reconfigure
#退出容器
exit

上传项目包到GitLab

1. 访问GitLab Web界面

说明:浏览器输入192.168.108.159:30880,使用账号/密码root/admin@123登录;

2. 切换到项目包目录

cd demo-2048/

3. 配置Git全局用户信息

git config --global user.name "administrator"
git config --global user.email "admin@example.com"

4. 清理旧远程仓库配置

git remote remove origin

5. 添加新远程仓库地址

git remote add origin http://192.168.108.159:30880/root/demo-2048.git 
git remote -v

6. 添加文件到Git暂存区

git add . -f

7. 提交代码到本地仓库

git commit -m "initial commit"

8. 推送代码到远程drone分支

git push -u origin drone
# 执行后输入用户名root,密码admin@123完成推送

9. 返回GitLab Web界面查看是否成功推送

 

- THE END -

iqor

1月16日11:49

最后修改:2026年1月16日
0

非特殊说明,本博所有文章均为博主原创。

共有 0 条评论