K8s & K3s 集群中 Hlem 化部署 Gitlab
Gitlab 简介GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。GitLab由乌克兰程序员DmitriyZaporozhets和ValerySizov开发,它由Ruby写成。后来,一些部分用Go语言重写,现今并在国内外大中型互联网公司广泛使用。git、gitlab、GitHub的简单区别git 是一种基于命令的版本控制系统,全命令操作
Gitlab 简介
GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。GitLab由乌克兰程序员DmitriyZaporozhets和ValerySizov开发,它由Ruby写成。后来,一些部分用Go语言重写,现今并在国内外大中型互联网公司广泛使用。
git、gitlab、GitHub的简单区别
- git 是一种基于命令的版本控制系统,全命令操作,没有可视化界面
- gitlab 是一个基于git实现的在线代码仓库软件,提供web可视化管理界面,通常用于企业团队内部协作开发
- github 是一个基于git实现的在线代码托管仓库,亦提供可视化管理界面,同时免费账户和提供付费账户,提供开放和私有的仓库,大部分的开源项目都选择github作为代码托管仓库
Gitlab 部署
- gitlab的helm的配置清单
helm fetch stable/gitlab-ce
tar xf gitlab-ce-0.2.1.tgz
- 集群中的 StorageClass
# 查询集群有哪些可用的 StorageClass
[root@gitlab-ce]# kubectl get sc
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
local-path (default) rancher.io/local-path Delete WaitForFirstConsumer false 4d21h
rook-ceph-retain-bucket ceph.rook.io/bucket Retain Immediate false 4d2h
rook-ceph-block rook-ceph.rbd.csi.ceph.com Delete Immediate false 4d
Rook Ceph 部署文档: https://www.cnblogs.com/vpc123/articles/14397126.html
- 配置 PV & PVC
修改 helm 文件中所有的 values.yaml 中存储的配置,包括子 charts 中的配置如果使用到了存储,就改成本地的动态存储即可:
- Helm 部署
helm install -n 命名空间 gitlab-ce gitlab-ce
helm status gitlab-ce
# 设置访问地址
helm upgrade gitlab-ce --set externalUrl=http://your-domain.com stable/gitlab-ce
# 将gitlab的svc改成nodeport(毕竟没有使用SLB服务)
kubectl patch svc gitlab-ce -p '{"spec":{"type":"NodePort"}}'
- gitlab的ingress
Ingress 模板:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: {{ .Values.ingress.name }}
namespace: {{ .Release.Namespace }}
annotations:
kubernetes.io/ingress.class: traefik
spec:
rules:
- host: {{ .Values.ingress.host }}
http:
paths:
- backend:
serviceName: {{ .Values.service.name }}
servicePort: {{ .Values.global.nginx.port }}
查询 gitlab 的 service 进行服务暴露:
gitlab-ingress.yaml 文件如下:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: gitlab
namespace: default
annotations:
kubernetes.io/ingress.class: traefik
spec:
rules:
- host: traefik.gitlab.io
http:
paths:
- backend:
serviceName: gitlab-ce-gitlab-ce
servicePort: 80
kubectl apply -f gitlab-ingress.yaml
kubectl get ingress -A | grep git
注: 更改 helm 中的 gitlab 地址同 ingress 对应上,如果对应不上,是没有办法访问的
- gitlab页面访问
拓展阅读
gitlab & svn 对比: https://blog.csdn.net/xb565517830/article/details/80742073
gitlab 的参考命令: https://www.cnblogs.com/ray-mmss/p/10861703.html
helm 化 gitlab 参考地址: https://github.com/vpc123/CloudMiddleware/tree/main/helm/gitlab-ce
更多推荐
所有评论(0)