Gitlab基於k8s簡單部署
阿新 • • 發佈:2021-02-04
主要參考官方文件基於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和密碼登入即可