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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM