背景:

本文档将以在openshift 平台上部署 gitlab 服务来验证集群各个服务组件的可用性以及熟悉openshift的使用方法。服务部署方式可以多种多样,灵活部署。本篇以常见的镜像部署方式来实现。

准备工作:

1.打开浏览器输入网址: https://hub.docker.com/r/gitlab/gitlab-ee

2.在一台可以联网下载docke image的linux 虚机上输入命令:

#docker pull gitlab/gitlab-ee:latest

3.查看镜像是否已存在。

#dockers images | grep gitlab

4.把镜像保存成tar包并导出。

# docker save docker.io/gitlab/gitlab-ee:latest >/root/gitlab.tar.gz

从虚机Linux上通过xftp 拷贝/root/gitlab.tar.gz 至本地, 再上传至 openshift平台的堡垒机节点中。

开始在openshift平台部署:

1.登录堡垒机节点 解压tar包 的image

#docker load -i gitlab.tar.gz

2.在堡垒机节点上 tag 生成的image,并push 生成的image,可在harbor仓库上看到上传好的镜像

#docker tag docker.io/gitlab/gitlab-ee:latest registry.example.com:5000/gitlab/gitlab-ee:latest

#docker push registry.example.com:5000/gitlab/gitlab-ee:latest

3.使用oc命令行客户端登录openshift平台,创建新项目 gitlab

#oc login https://openshift.example.com:8443

#oc new-project gitlab

或者登录openshift界面创建:

4.使用镜像部署gitlab容器,并等待容器运行成功。

#oc run gitlab --image=registry.example.com:5000/gitlab/gitlab-ee:latest -n gitlab

或者登录openshift界面部署:

  1. 给gitlab 容器使用root用户的权限

    #oc adm policy add-scc-to-user anyuid -z default

    注意:若遇到如下报错说明容器未使用root权限,则需要加上如上命令。

6.为gitlab创建services,使用下面的services-gitlab.yaml 文件

#oc create –f services-gitlab.yaml –n gitlab

apiVersion: v1
kind: Service
metadata:
labels:
app: gitlab-ee
name: gitlab-ee
spec:
ports:
- name: 22-tcp
port: 22
protocol: TCP
targetPort: 22
- name: 80-tcp
port: 80
protocol: TCP
targetPort: 80
- name: 443-tcp
port: 443
protocol: TCP
targetPort: 443
selector:
deploymentconfig: gitlab-ee
sessionAffinity: None
type: ClusterIP
status:
loadBalancer: {}

或者登录openshift界面创建:





7.为gitlab的services创建route地址

8.为pod动态创建pvc(注意使用的sc)

创建3个pvc



9.给pod挂载持久化存储,共挂载三个位置

使用rbd存储需要先在项目中 创建ceph-sercret密钥用来挂载

apiVersion: v1
data:
key: QVRzh5VmQwRWo1JBQUcvRjJLalUyU3dvRzlWc9PQ==
kind: Secret
metadata:
name: ceph-secret
type: kubernetes.io/rbd

secret创建好之后,开始创建对应的pvc,如下是volume 名字和pod挂载路径的对应关系

Mount: gitlab-ee-3  → /var/opt/gitlab read-write
Mount: gitlab-ee-1  → /etc/gitlab read-write
Mount: gitlab-ee-2  → /var/log/gitlab read-write

修改dc的yaml文件给pod挂载pvc

等待pod running查看details状态信息

可以看到pod运行成功。

服务验证:

访问route的hostname打开gitlab界面。(用户名 root 密码 ********(登录前需要自己设置) )



服务正常,openshift平台部署gitlab服务完成!

openshift 平台上部署 gitlab代码仓库服务的更多相关文章

  1. 在OpenShift平台上验证NVIDIA DGX系统的分布式多节点自动驾驶AI训练

    在OpenShift平台上验证NVIDIA DGX系统的分布式多节点自动驾驶AI训练 自动驾驶汽车的深度神经网络(DNN)开发是一项艰巨的工作.本文验证了DGX多节点,多GPU,分布式训练在DXC机器 ...

  2. 在自己的服务器上部署 GitLab 社区版

    GitLab 简介 因为我的个人网站 restran.net 已经启用,博客园的内容已经不再更新.这篇文章是在 Gitlab 7.4 的环境下配置的,相关内容可能已经过时. 后续做了一次迁移,将 Gi ...

  3. 在 CentOS 上部署 GitLab (自托管的Git项目仓库)

    参考资料https://github.com/mattias-ohlsson/gitlab-installer/blob/master/gitlab-install-el6.sh 环境准备OS: Ce ...

  4. 私有化轻量级持续集成部署方案--04-私有代码仓库服务-Gitea

    提示:本系列笔记全部存在于 Github, 可以直接在 Github 查看全部笔记 企业级最流行的私有代码仓库是 Gitlab, 一开始我也打算部署 Gitlab作为私有代码仓库. 但部署完 d 成后 ...

  5. 部署GitLab代码托管仓库

    GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,GitLab是使用Ryby开发的一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私 ...

  6. 在Windows Server 2008上部署SVN代码管理总结

    这段时间在公司开发Flex程序,所以使用TortoiseSVN作为团队代码管理器,今天在公司服务器上部署SVN服务器,并实验成功,总结如下: 服务器环境: 操作系统:Windows Server 20 ...

  7. git jenkins 基本部署 gitlab私有仓库

    从代码私有性方面来看,公司不希望员工获取到全部的代码,这个时候 GitLab 无疑是最佳的选择.但对于开源项目而言,GitHub 依然是代码托管的首选平台. 1.安装gitlab[root@gitla ...

  8. gitlab代码仓库迁移

    有的时候我们需要对gitlab上的代码进行迁移,希望在迁移后能保持原有的branch.tag.commit记录等.可以使用以下方式: 1.clone代码到本地. 2.修改remote仓库的地址,添加新 ...

  9. 【spring cloud】【docker】使用docker在centOS上部署spring cloud微服务架构服务

    项目GitHub地址 ================================================================================== 部署过程: ...

随机推荐

  1. OpenCV中threshold函数的使用

    转自:https://blog.csdn.net/u012566751/article/details/77046445 一篇很好的介绍threshold文章: 图像的二值化就是将图像上的像素点的灰度 ...

  2. 【题解】[USACO13FEB]Tractor S

    题目戳我 \(\text{Solution:}\) 好久没写啥\(dfs\)了,借这个题整理下细节. 观察到答案具有二分性,所以先求出其差的最大最小值,\(\log val\)的复杂度不成问题. 考虑 ...

  3. 微服务 | Spring Cloud(一):从单体SSM 到 Spring Cloud

    系列文章目录 微服务 | Spring Cloud(一):从单体SSM 到 Spring Cloud 目录 系列文章目录 前言 单体式架构 微服务架构 优点 缺点 服务发现与弹性扩展 参考 前言 在微 ...

  4. ORA-00017: session requested to set trace event 请求会话以设置跟踪事件

    ORA-00017: session requested to set trace event   ORA-00017: 请求会话以设置跟踪事件 Cause:       The current se ...

  5. Linux就该这么学28期——Day05 vim编辑器与Shell命令脚本 (yum配置 网卡配置)

    vim 三种模式: 命令模式 按行操作 dd 剪切.删除 5dd dG   全删 yy 复制光标所在行 p 粘贴 u 撤销操作 / 搜索 /ab n  下一个 N   上一个 输入模式 a 当前光标处 ...

  6. day33 Pyhton 常用模块03

    一.正则表达式: 1.元字符 . 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线 \s 匹配任意的空白符 \d 匹配数字 \n 匹配一个换行符 \t 匹配一个制表符 \b 匹配一个单词的结尾 ...

  7. 【二分图】HEOI2012 朋友圈

    题目内容 洛谷链接 在很久很久以前,曾经有两个国家和睦相处,无忧无虑的生活着. 一年一度的评比大会开始了,作为和平的两国,一个朋友圈数量最多的永远都是最值得他人的尊敬,所以现在就是需要你求朋友圈的最大 ...

  8. 51Nod 最大M子段和系列 V1 V2 V3

    前言 \(HE\)沾\(BJ\)的光成功滚回家里了...这堆最大子段和的题抠了半天,然而各位\(dalao\)们都已经去做概率了...先%为敬. 引流之主:老姚的博客 最大M子段和 V1 思路 最简单 ...

  9. 【图论】USACO11JAN Roads and Planes G

    题目内容 洛谷链接 Farmer John正在一个新的销售区域对他的牛奶销售方案进行调查.他想把牛奶送到\(T\)个城镇 (\(1 <= T <= 25,000\)),编号为\(1\)到\ ...

  10. centos8平台用redis-cli对redis5监控和管理

    一,监控redis-server上正在执行的命令 1,打开a终端: [root@yjweb log]# /usr/local/soft/redis5/bin/redis-cli -h 127.0.0. ...