背景:

本文档将以在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服务完成!

最新文章

  1. 0035 Java学习笔记-注解
  2. IRequiresSessionState接口控制
  3. webdriver杀死浏览器和Chromedriver进程
  4. iOS开发阶段技能总结
  5. Java中equals与==和comparaTo的区别
  6. git node(&npm)安装
  7. Zygote进程【1】——Zygote的诞生
  8. javascript 连等赋值问题(这是从SegmentFault转过来的一个问题)
  9. java web重定向与转发
  10. PCB检查事项,生成钻孔表
  11. linux-7 man 命令
  12. 现代福尔摩斯 - Oxygen Forensic Suite
  13. 首次发布App,In-App Purchase 无法submit for review 问题的解决方案
  14. xml-xml试题
  15. Python urllib和urllib2模块学习(一)
  16. Bandwidth内存带宽測试工具
  17. 分享学习——ERP项目管理经验
  18. LeetCode---Container With Most Water(11)
  19. Jenkins持续集成环境, 如何自定义 maven 仓库
  20. oldboy s21day07(深浅拷贝及文件操作)

热门文章

  1. 单元测试框架怎么搭?快来看看新版Junit5的这些神奇之处吧!
  2. 079 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 04 实例化对象
  3. 03 Comments in C Programming C编程中的注释
  4. HTML & CSS & JavaScript 从一个表格到一个灰阶颜色表 02
  5. 插头 dp
  6. MySql查询语句中的变量使用
  7. vue超出8个字符,显示省略号
  8. 视频+图文教程 | Java之安装JDK与环境配置
  9. 手把手教你使用 Prometheus 监控 JVM
  10. mysql DISTINCT选取多个字段,获取distinct后的行信息