zoukankan      html  css  js  c++  java
  • 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界面部署:

    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服务完成!

  • 相关阅读:
    mysql删除重复数据
    Spring缓存注解
    Spring事物不回滚
    java.net.MalformedURLException: no protocol: www.baidu.com
    shred:减少删除文件的还原度
    rm命令防止误操作
    软链接:要根据软链接来写路径
    linux与windows文本文件间的转换:针对回车换行
    cat:文本编辑工具
    算术运算;赋值
  • 原文地址:https://www.cnblogs.com/wenyang321/p/13395443.html
Copyright © 2011-2022 走看看