1. 程式人生 > 其它 >Gitlab基於k8s簡單部署

Gitlab基於k8s簡單部署

技術標籤:雲端計算專案管理

主要參考官方文件基於docker的部署,進行k8s檔案的配置
新增連結描述

如果有網路不通的情況,可以考慮關閉下防火牆

1. 拉取映象

我們使用社群版,所以需要改動官方文件裡面的gitlab-ee->gitlab-ce

docker pull gitlab/gitlab-ce:latest

2. 構建DamoSet

apiVersion: apps/v1beta2
kind: DaemonSet
# ds 配置
metadata:
  name: gitlab-ds
  namespace: gitlab
# ds 描述
spec:
  # 選擇標籤
  selector
: matchLabels: app: my-gitlab # pod 模板 template: metadata: labels: # 包含標籤 app: my-gitlab spec: # volume volumes: - name: gitlab-config hostPath: path: /data/k8s/volumes/gitlab/config type: Directory - name: gitlab-logs hostPath
: path: /data/k8s/volumes/gitlab/logs type: Directory - name: gitlab-data hostPath: path: /data/k8s/volumes/gitlab/data type: Directory containers: - name: gitlab image: gitlab/gitlab-ce:latest ports: # 容器內部暴露的埠 -
name: http containerPort: 80 # 卷掛載到容器檔案 volumeMounts: - name: gitlab-config mountPath: /etc/gitlab - name: gitlab-logs mountPath: /var/log/gitlab - name: gitlab-data mountPath: /var/opt/gitlab

這裡本地目錄需要建立好,不然可能由於找不到目錄,導致容器啟動失敗在這裡插入圖片描述在這裡插入圖片描述
啟動ds

kubectl create -f gitlab-ds.yaml

3. 建立Service暴露埠

apiVersion: v1
kind: Service
metadata:
  name: gitlab-svc
  namespace: gitlab
spec:
  # 轉發容器埠 http(80) 到 80 暴露到宿主機 30001埠
  ports:
  - port: 80
    targetPort: http
    nodePort: 30001
  # 擁有此標籤的pod都屬於該服務
  selector:
    app: my-gitlab
  # 預設ClusterIp 改為NodePort 暴露外部埠
  type: NodePort

啟動svc

kubectl create -f gitlab-svc.yaml

4. gitlab初始化

外部通過訪問 宿主機ip:30001 訪問。開始需要設定root密碼,設定完成後使用root和密碼登入即可