openshift 平台上部署 gitlab代码仓库服务
背景:
本文档将以在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界面部署:
- 给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代码仓库服务的更多相关文章
- 在OpenShift平台上验证NVIDIA DGX系统的分布式多节点自动驾驶AI训练
在OpenShift平台上验证NVIDIA DGX系统的分布式多节点自动驾驶AI训练 自动驾驶汽车的深度神经网络(DNN)开发是一项艰巨的工作.本文验证了DGX多节点,多GPU,分布式训练在DXC机器 ...
- 在自己的服务器上部署 GitLab 社区版
GitLab 简介 因为我的个人网站 restran.net 已经启用,博客园的内容已经不再更新.这篇文章是在 Gitlab 7.4 的环境下配置的,相关内容可能已经过时. 后续做了一次迁移,将 Gi ...
- 在 CentOS 上部署 GitLab (自托管的Git项目仓库)
参考资料https://github.com/mattias-ohlsson/gitlab-installer/blob/master/gitlab-install-el6.sh 环境准备OS: Ce ...
- 私有化轻量级持续集成部署方案--04-私有代码仓库服务-Gitea
提示:本系列笔记全部存在于 Github, 可以直接在 Github 查看全部笔记 企业级最流行的私有代码仓库是 Gitlab, 一开始我也打算部署 Gitlab作为私有代码仓库. 但部署完 d 成后 ...
- 部署GitLab代码托管仓库
GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,GitLab是使用Ryby开发的一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私 ...
- 在Windows Server 2008上部署SVN代码管理总结
这段时间在公司开发Flex程序,所以使用TortoiseSVN作为团队代码管理器,今天在公司服务器上部署SVN服务器,并实验成功,总结如下: 服务器环境: 操作系统:Windows Server 20 ...
- git jenkins 基本部署 gitlab私有仓库
从代码私有性方面来看,公司不希望员工获取到全部的代码,这个时候 GitLab 无疑是最佳的选择.但对于开源项目而言,GitHub 依然是代码托管的首选平台. 1.安装gitlab[root@gitla ...
- gitlab代码仓库迁移
有的时候我们需要对gitlab上的代码进行迁移,希望在迁移后能保持原有的branch.tag.commit记录等.可以使用以下方式: 1.clone代码到本地. 2.修改remote仓库的地址,添加新 ...
- 【spring cloud】【docker】使用docker在centOS上部署spring cloud微服务架构服务
项目GitHub地址 ================================================================================== 部署过程: ...
随机推荐
- 基于Java反射的定时任务设计
一.使用场景 1.不需要立即执行.立即得到结果返回. 2.如果执行失败.需要有失败补偿机制. 3.和业务代码解耦,适用于不同的务场景. 4.调用接口的入参.出参 统计,方便查询. 二.执行顺序 1.业 ...
- Leetcode-剪枝
51. N皇后 https://leetcode-cn.com/problems/n-queens/ n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击. ...
- 再玩树莓派(二)Jexus&.NetCore
接上一篇,操作系统弄好之后,轮到开发运行环境的搭建. 先说说目标,也就是我到底想搞什么飞机.先说说小目标吧. 现有一个手机App客户端,以答题小游戏作为其内容(例如:口算题,24点,科学百科等) 树莓 ...
- P2783 有机化学之神偶尔也会作弊 题解
题面 前言 这道题以前还是道(水)黑题,现在怎么降紫了???? 前置芝士 tarjain 缩点 倍增求LCA或树剖求LCA 脑子... 题意 给你一个无向图,要求你把所有的环缩成一个点.在新得到的图上 ...
- 【题解】[ZJOI2009]假期的宿舍
\(\color{red}{Link}\) \(\text{Solution:}\) 把人和床看成点,问题转化为二分图. 于是,对于每一个在校生,我们建立出他的床点:然后对于每一个在校生,他们自己可以 ...
- 【题解】[CH弱省胡策R2]TATT
本蒟蒻第一道\(K-D-Tree\)维护\(dp\) Question 题目大意:求一条路径,使得其四个维度单调不降. 先排序消掉一维再说. 对于每一个点,初始的时候绝对长度是1啊.于是,先赋值一个1 ...
- 《To C产品经理进阶》
我所说的,都是错的. To C产品设计和To B产品设计对一个优秀的产品经理的洞察能力.架构能力有共通的要求. 实际产品设计过程中,To C产品往往是从商业思维思考,侧重用户研究,思考用户心智,由产品 ...
- mac操作liunx
mkdir demo //创建一个文件夹 touch index.html // 创建一个html文件 rm rouch index.html //删除找个index.html文件 rmdir dem ...
- 达梦数据库_DM8配置MPP主备
为了提高MPP系统可靠性,克服由于单节点故障导致整个系统不能继续正常工作,DM 在普通的MPP系统基础上,引入主备守护机制,将MPP节点作为主库节点,增加备库作为备份节点,必要时可切换为主库代替故障节 ...
- 跨时代的MySQL8.0新特性解读
目录 MySQL发展历程 MySQL8.0新特性 秒级加列 性能提升 文档数据库 SQL增强 共用表表达式(CTEs) 不可见索引(Invisible Indexes) 降序索引(Descending ...