版本管理是云原生服务平台的重要组成部分,不只提供代码管理,更重要的是提供各类配置参数的版本化管理,从而可以快速部署和修改、回滚、迁移相关的服务。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还在开发之中,不建议生产环境下使用。