前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >TKE容器集群中部署gitlab服务器

TKE容器集群中部署gitlab服务器

原创
作者头像
keepyan
修改2019-12-19 18:03:16
1.4K0
修改2019-12-19 18:03:16
举报
文章被收录于专栏:TKE操作指北

一:背景:了解什么是gitlab ,gitlab有什么作用

GitLab是一种类似github的服务,组织可以使用它来提供git存储库的内部管理。 它是一个自我托管的Git-repository管理系统,可以保持用户代码的私密性,并且可以轻松地部署代码的更改。

针对这一部分,不做过多说明,因为这些内容在网上可以很轻易的搜索到。

二:初衷

写这篇文档的初衷是因为我自己在做gitlab 容器话的时候,在网上搜索出来的基本上都是各种Docker 部署 gitlab 的方案,但是从便于管理,以及主流环境来看,我更倾向于 k8s 集群化部署方式。

因为考虑到要做TKE专栏,这里顺便写文档记录下来,希望能帮到一些人。

三:TKE环境中怎么部署gitlab

进入正题,这里正式介绍下该怎么在TKE 集群中部署gitlab 服务器

环境:

集群:1.14.3

部署方式:Deployment

发布方式:service(Nodeport)+ ingress

镜像:ccr.ccs.tencentyun.com/techeek/gitlab-ce

数据卷:NFS (cfs)

1. 创建deployment,容器部分配置如图:

ps:这里不需要做其他配置,主要是使用数据卷挂载的方式,把容器内的几个主要目录备份出来

代码语言:javascript
复制
/etc/gitlab        容器配置目录
/var/log/gitlab    容器日志目录
/var/opt/gitlab    容器数据目录

NFS中的目录需要手动先创建出来,不然容器启动会报错找不到对应的目录。

容器使用数据卷的作用(拿当前gitlab容器为例)

(1):记录数据,保证容器异常销毁重建之后,还能通过数据卷里的内容获取到之前的操作信息,避免容器销毁重建后需要从零开始配置

(2):方便修改容器内配置信息,可以直接在外部修改容器内服务的主配文件

(3):方便在容器外部查看容器内服务日志等信息。

2. 创建service 选择Nodeport 的暴露方式

3. 添加ingress 转发规则(确保当前有ingress)指向service

四:访问测试和调试

1.使用自己的域名解析到ingress 的IP 地址,然后进行访问测试

ps:因为我这里是已经登录过,正常刚登录的时候是让你配置 new password 的界面,首次登录,用户名默认是root,密码就是这里自己设置的密码。

2. 调试部分(重要)

现在刚部署好的GitLab新建的项目ssh地址一般是个短链接git@AKDJF3ld:xxx,如果不修改,会导致外部无法通过ssh 和 http 连接到仓库

这里可以通过配置文件来修改host 的地址和端口,可以在pod内 find 查找 gitlab.yml 文件的位置。

这里是有两个地址,修改哪个都可以,因为我们这里做了/var/opt/gitlab目录的数据卷挂载,这里可以直接在外部修改

这里修改完之后,要在容器内执行 gitlab-ctl restart 命令重启gitlab 生效。

然后登陆web 界面查看这里的访问地址即可:

剩下部分就属于开源gitlab 操作了,这里不再进行赘述。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一:背景:了解什么是gitlab ,gitlab有什么作用
  • 二:初衷
  • 三:TKE环境中怎么部署gitlab
    • 1. 创建deployment,容器部分配置如图:
      • 2. 创建service 选择Nodeport 的暴露方式
        • 3. 添加ingress 转发规则(确保当前有ingress)指向service
        • 四:访问测试和调试
          • 1.使用自己的域名解析到ingress 的IP 地址,然后进行访问测试
            • 2. 调试部分(重要)
            相关产品与服务
            容器服务
            腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档