版本管理是雲原生服務平臺的重要組成部分,不只提供代碼管理,更重要的是提供各類配置參數的版本化管理,從而可以快速部署和修改、回滾、遷移相關的服務。html
目前,可使用Github.com、oschina.net等提供的git企業服務來管理本身的私有項目,也可使用GitLab來自建服務管理專用的一些代碼和配置參數。GitLab每每與Harbor和Jenkins聯合使用,實現配置管理、容器倉庫、容器構建的DevOps完整流程。git
GitLab 部署有多種方式,包括裸機部署、容器部署和Kubernetes部署。github
在Kubernetes中優先考慮Helm Chart方式安裝,更爲簡單。docker
目前,GitLab的Hel chart有如下幾個項目:app
具體安裝過程,參考:dom
具體包括:gitlab
(1)添加helm repo。spa
(2)更新repo倉庫。.net
help repo update
(3)執行helm chart安裝。rest
helm install --name gitlab --namespace gitlab ~/openthings/gitlab \ --set global.hosts.externalIP=10.1.1.202 \ --set global.hosts.domain=core.gitlab.zettariver \ --set certmanager-issuer.email=myemail@163.com
(4)查看helm安裝,執行命令 helm list。
但在部署後,個人Kubernetes集羣(版本1.13.3)上GitLab老是啓動失敗。
最後,轉爲Docker方式直接部署,成功。命令以下:
sudo docker run --detach \ --hostname podc01.zettariver \ --publish 4443:443 --publish 880:80 --publish 222:22 \ --name gitlab \ --restart always \ --volume /srv/gitlab/config:/etc/gitlab \ --volume /srv/gitlab/logs:/var/log/gitlab \ --volume /srv/gitlab/data:/var/opt/gitlab \ gitlab/gitlab-ce:latest
其中,須要指定三個存儲目錄,將80和443端口映射爲其它的,以避免與其它服務衝突。
部署完成後,訪問Git頁面,以下:
操做器(Operator)是一種新的Kubernetes應用管理的模式,經過調用Kubernetes API來實現擴展服務,能夠提供複雜應用的動態管理機制。GitLab的最新版本已經提供了構建、部署等多種DevOps服務,也提供了本身的Operator對多種服務的部署和運行提供管理。不過,目前GitLab Operator還在開發之中,不建議生產環境下使用。