文档章节

Kubernetes 集群上部署 GitLab 版本管理服务

openthings
 openthings
发布于 02/27 10:28
字数 745
阅读 255
收藏 0

版本管理是云原生服务平台的重要组成部分,不仅提供代码管理,更重要的是提供各种配置参数的版本化管理,从而能够快速部署和修改、回滚、迁移相关的服务。

1、GitLab是什么

目前,可以使用Github.com、oschina.net等提供的git企业服务来管理自己的私有项目,也可以使用GitLab来自建服务管理专用的一些代码和配置参数。GitLab往往与Harbor和Jenkins联合使用,实现配置管理、容器仓库、容器构建的DevOps完整流程。

GitLab 部署有多种方式,包括裸机部署、容器部署和Kubernetes部署。

2、Helm Chart部署GitLab

在Kubernetes中优先考虑Helm Chart方式安装,更为简单。

目前,GitLab的Hel chart有以下几个项目:

具体安装过程,参考:

具体包括:

(1)添加helm repo。

(2)更新repo仓库。

help repo update

(3)执行helm chart安装。

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。

3、Docker部署GitLab

但在部署后,我的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页面,如下:

 

4、GitLab的Kubernetes Operator

操作器(Operator)是一种新的Kubernetes应用管理的模式,通过调用Kubernetes API来实现扩展服务,可以提供复杂应用的动态管理机制。GitLab的最新版本已经提供了构建、部署等多种DevOps服务,也提供了自己的Operator对多种服务的部署和运行提供管理。不过,目前GitLab Operator还在开发之中,不建议生产环境下使用。

5、更多参考资料

© 著作权归作者所有

openthings
粉丝 320
博文 1129
码字总数 675031
作品 1
东城
架构师
私信 提问
GitLab Auto DevOps功能与Kubernetes集成教程

介 绍 在这篇文章中,我们将介绍如何将GitLab的Auto DevOps功能与Rancher管理的Kubernetes集群连接起来,利用Rancher v2.2.0中引入的授权集群端点的功能。通过本文,你将能全面了解GitLab如何...

RancherLabs
04/23
363
2
GitLab 11.11 发布,增强协作性功能以及 DevOps 功能

GitLab 11.11 已发布,按照既定的版本发布计划,这是 GitLab 11 的最后一个小版本,下个月将发布大版本 GitLab 12。 在此版本中,已支持多个受理人进行合并请求,还支持 Slack 和 Mattermost...

局长
05/29
2.1K
4
Rancher 2.1 发布,优化 Kubernetes 集群运维

Rancher 2.1 发布了,这是自去年九月 Rancher Labs 全面拥抱 Kubernetes、发布全新里程碑产品 Rancher 2.0——开源的企业级 Kubernetes 管理平台之后,最为重大的版本更新。 Rancher 2.0 是一...

h4cd
2018/10/17
1K
1
如何构建Kubernetes CI/CD流水线

持续集成/持续交付(CI/CD)在服务精细化、更新频繁的当下显得愈发重要。本文将分享如何使用托管的GitLab.com解决方案来实现CI/CD,并将其与Kubernetes原生集成。且文中方法适合其他一切提供...

RancherLabs
2018/08/16
175
0
再见Jenkins,从Gitlab代码提交到k8s服务持续交付只需七毛三(走过路过不要错过)

Gitlab runner 快速搭建CICD pipeline 背景 日常开发中,相信大家已经做了很多的自动化运维环境,用的最多的想必就是利用Jenkins实现代码提交到自动化测试再到自动化打包,部署全流水线 Jenk...

Chaunce
07/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

rime设置为默认简体

转载 https://github.com/ModerRAS/ModerRAS.github.io/blob/master/_posts/2018-11-07-rime%E8%AE%BE%E7%BD%AE%E4%B8%BA%E9%BB%98%E8%AE%A4%E7%AE%80%E4%BD%93.md 写在开始 我的Arch Linux上......

zhenruyan
今天
5
0
简述TCP的流量控制与拥塞控制

1. TCP流量控制 流量控制就是让发送方的发送速率不要太快,要让接收方来的及接收。 原理是通过确认报文中窗口字段来控制发送方的发送速率,发送方的发送窗口大小不能超过接收方给出窗口大小。...

鏡花水月
今天
10
0
OSChina 周日乱弹 —— 别问,问就是没空

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @tom_tdhzz :#今日歌曲推荐# 分享容祖儿/彭羚的单曲《心淡》: 《心淡》- 容祖儿/彭羚 手机党少年们想听歌,请使劲儿戳(这里) @wqp0010 :周...

小小编辑
今天
1K
11
golang微服务框架go-micro 入门笔记2.1 micro工具之micro api

micro api micro 功能非常强大,本文将详细阐述micro api 命令行的功能 重要的事情说3次 本文全部代码https://idea.techidea8.com/open/idea.shtml?id=6 本文全部代码https://idea.techidea8....

非正式解决方案
今天
5
0
Spring Context 你真的懂了吗

今天介绍一下大家常见的一个单词 context 应该怎么去理解,正确的理解它有助于我们学习 spring 以及计算机系统中的其他知识。 1. context 是什么 我们经常在编程中见到 context 这个单词,当...

Java知其所以然
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部