1,基本概念

  • 使用k8s安装gitlab-ce,采用GlusterFS实现持久化(注意PG使用的是NFS存储,使用动态存储重启postgresql的pod后无法成功启动pg,待解决),并集成了openLDAP。
  • 注意:使用的gitlab是独立于k8s集群之外的。

2,安装部署

  • 最一开始使用的是helm安装gitlab,网上的文档应该全部都是使用的这个chart:https://github.com/helm/charts/tree/master/stable/gitlab-ce
  • 但是这个chart已经被弃用,并推荐我们使用官方的chart

  • 官方chart:https://docs.gitlab.com/ee/install/kubernetes/gitlab_chart.html
  • 使用官方chart部署完成以后,发现启动的容器太多,就放弃了这个方式,使用yaml文件部署。

2.1 下载yaml文件

git clone https://github.com/xiaoqshuo/k8s-cluster.git

2.2 修改对应的配置

  • 主要修改每个rc的namespace,使用的持久化存储方式(当前yaml使用的GFS动态存储,pg使用的是NFS,按需修改)
  • 修改gitlab-rc.yml里面的env,对应的LDAP信息和SMTP信息等
  • 修改traefik的域名
  • 创建gitlab
[root@k8s-master01 k8s-cluster]# kubectl apply -f gitlab/
persistentvolumeclaim/gitlab-gitlab created
replicationcontroller/gitlab-ldap created
service/gitlab-balancer created
service/gitlab created
persistentvolume/gitlab-pg-data created
replicationcontroller/postgresql created
persistentvolumeclaim/gitlab-pg created
service/postgresql created
replicationcontroller/redis created
persistentvolumeclaim/gitlab-redis created
service/redis created
ingress.extensions/gitlab created
# kubectl get pod,svc,pvc  -n public-service  | egrep 'gitlab|postgresql|redis'
pod/gitlab-ldap-z5p65              1/1     Running   0          16hpod/postgresql-lxdbl               1/1     Running   0          16h
pod/redis-8mt9r                    1/1     Running   0          16h
service/gitlab                            ClusterIP   10.254.130.93    <none>        80/TCP,22/TCP               16h
service/gitlab-balancer                   NodePort    10.254.155.236   <none>        80:31830/TCP,22:30405/TCP   16h
service/glusterfs-dynamic-gitlab-gitlab   ClusterIP   10.254.73.71     <none>        1/TCP                       16h
service/glusterfs-dynamic-gitlab-redis    ClusterIP   10.254.87.158    <none>        1/TCP                       16h
service/postgresql                        ClusterIP   10.254.252.83    <none>        5432/TCP                    16hservice/redis                             ClusterIP   10.254.247.70    <none>        6379/TCP                    16h
persistentvolumeclaim/gitlab-gitlab   Bound    pvc-606b72bf-22e5-11e9-8948-000c2911f5ac   5Gi        RWX            gluster-heketi   16h
persistentvolumeclaim/gitlab-pg       Bound    gitlab-pg-data                             5Gi        RWX            gitlab-pg-data   16h
persistentvolumeclaim/gitlab-redis    Bound    pvc-61aa2884-22e5-11e9-8948-000c2911f5ac   3Gi        RWX            gluster-heketi   16h

3,配置 GitLab

3.1 登录

  • 默认账号密码:root/gitlab123

3.2 ldap 登录

4,创建项目

4.1 首先创建一个群组

4.2 创建项目

4.3 添加用户权限

  • 登录至该用户可查看到此项目

4.4 添加SSH Key

  • 如果没有Key需要使用ssh-keygen -t rsa -C "your@email.com"生成对应的Key。

4.5 拉取项目

4.5.1 README

4.5.2 创建分支

4.5.3 拉代码

  • 克隆代码,注意此时需要更改git的地址,因为ssh端口并非22,可以通过service查看nodeport的端口
[root@k8s-master01 test]# kubectl get svc -n public-service | grep gitlab
NAME                              TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                     AGE
service/gitlab                            ClusterIP   10.254.130.93    <none>        80/TCP,22/TCP               16h
service/gitlab-balancer                   NodePort    10.254.155.236   <none>        80:31830/TCP,22:30405/TCP   16h
service/glusterfs-dynamic-gitlab-gitlab   ClusterIP   10.254.73.71     <none>        1/TCP                       16h
service/glusterfs-dynamic-gitlab-redis    ClusterIP   10.254.87.158    <none>        1/TCP                       16h
[root@k8s-master01 test]# git clone ssh://git@gitlab.k8s.net:30405/platform/app1.git
Cloning into 'app1'...
The authenticity of host '[gitlab.k8s.net]:30405 ([192.168.2.100]:30405)' can't be established.
ECDSA key fingerprint is SHA256:G/NvmIH4x3QF94+PznkRDudBWxls/vgZjSsD81Nm5nk.
ECDSA key fingerprint is MD5:72:90:da:12:73:a6:fb:38:e8:08:6c:6c:e2:26:a9:ec.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[gitlab.k8s.net]:30405,[192.168.2.100]:30405' (ECDSA) to the list of known hosts.
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.
[root@k8s-master01 test]# ls
app1
[root@k8s-master01 test]# cd app1/
[root@k8s-master01 app1]# ls
README.md
[root@k8s-master01 app1]# git branch -a
* masterremotes/origin/HEAD -> origin/masterremotes/origin/app1-developremotes/origin/master
[root@k8s-master01 app1]# git checkout app1-develop
Branch app1-develop set up to track remote branch app1-develop from origin.
Switched to a new branch 'app1-develop'
[root@k8s-master01 app1]# git status
# On branch app1-develop
nothing to commit, working directory clean
[root@k8s-master01 app1]# ls
README.md
[root@k8s-master01 app1]# echo 'test file' > test.txt
[root@k8s-master01 app1]# ls
README.md  test.txt
[root@k8s-master01 app1]# git add .
[root@k8s-master01 app1]# git commit -m "test.txt"
[app1-develop 7e65647] test.txt1 file changed, 1 insertion(+)create mode 100644 test.txt
[root@k8s-master01 app1]# git push origin
warning: push.default is unset; its implicit value is changing in
Git 2.0 from 'matching' to 'simple'. To squelch this message
and maintain the current behavior after the default changes, use:git config --global push.default matchingTo squelch this message and adopt the new behavior now, use:git config --global push.default simpleSee 'git help config' and search for 'push.default' for further information.
(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode
'current' instead of 'simple' if you sometimes use older versions of Git)Counting objects: 4, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 276 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
remote:
remote: To create a merge request for app1-develop, visit:
remote:   http://gitlab.k8s.net/platform/app1/merge_requests/new?merge_request%5Bsource_branch%5D=app1-develop
remote:
To ssh://git@gitlab.k8s.net:30405/platform/app1.git48d23d4..7e65647  app1-develop -> app1-develop
  • 查看文件

  • 参考:

    • https://www.cnblogs.com/dukuan/p/10036489.html
    • https://github.com/osixia/docker-gitlab
    • https://github.com/sameersbn/docker-gitlab
    • https://blog.csdn.net/agecntao/article/details/82557904

转载于:https://www.cnblogs.com/xiaoqshuo/p/10148871.html

Kubernetes - - k8s - v1.12.3 持久化部署 GitLab 集成 OpenLDAP 登录相关推荐

  1. Kubernetes - - k8s - v1.12.3 Helm持久化部署Harbor集成OpenLDAP登录

    1,基本概念 前几章部署了harbor和ldap,本节将部署harbor使用openLDAP验证,部署方式与之前相同,只是改了adminserver-cm.yaml的AUTH_MODE: " ...

  2. Kubernetes - - k8s - v1.12.3 使用Helm安装harbor

    1,Helm 介绍 核心术语: Chart:一个helm程序包 Repository:Charts仓库,https/http 服务器 Release:特定的Chart部署与目标集群上的一个实例 Cha ...

  3. Kubernetes - - k8s - v1.12.3 动态存储管理GlusterFS及使用Heketi扩容GlusterFS集群

    1,准备工作 1.1 所有节点安装GFS客户端 yum install glusterfs glusterfs-fuse -y 1.2 如果不是所有节点要部署GFS管理服务,就在需要部署的节点上打上标 ...

  4. Kubernetes - - k8s - v1.12.3 OpenLDAP统一认证

    1,基本概念 为了方便管理和集成jenkins,k8s.harbor.jenkins均使用openLDAP统一认证. 2,部署openLDAP 根据之前的文档,openLDAP使用GFS进行数据持久化 ...

  5. 基于kubeadm快速部署kubernetes K8S V1.17.4集群-无坑完整版

    基于kubeadm快速部署kubernetes K8S V1.17.4集群,并部署Dashboard Web页面,实现可视化查看Kubernetes资源 主机配置规划 服务器名称(hostname) ...

  6. Kubernetes K8S之kube-prometheus概述与部署

    Kubernetes K8S之kube-prometheus概述与部署 主机配置规划 服务器名称(hostname) 系统版本 配置 内网IP 外网IP(模拟) k8s-master CentOS7. ...

  7. LDAP落地实战(三):GitLab集成OpenLDAP认证

    上一篇文章介绍了svn集成OpenLDAP认证,版本控制除了svn外,git目前也被越来越多的开发者所喜爱,本文将介绍GitLab如何集成openldap实现账号认证 GitLab集成OpenLDAP ...

  8. Kubernetes(k8s)快速入门和环境部署

    目录 1. Kubernetes介绍 1.1 应用部署方式演变 1.2 kubernetes简介 1.3 kubernetes组件 1.4 kubernetes概念 2. kubernetes集群环境 ...

  9. 最新版Kubernetes(k8s)-v1.22.3版本高可用集群

    目录 一.环境准备 二.安装Docker 三.配置环境变量 四.所有master节点安装keepalived和haproxy服务 五.部署集群 六.部署k8s的dashboard 本文采用的是etcd ...

  10. Centos7 k8s v1.5.2二进制部署安装-入门讲解

    一.概述  1.官网 https://kubernetes.io/  2.GitHub https://github.com/kubernetes/kubernetes  3.重要作用:开源的容器编排 ...

最新文章

  1. git设置单个仓库用户名以及密码
  2. Redis、Redis+sentinel安装(Ubuntu 14.04下Redis安装及简单测试)
  3. DevExpress的图形按钮菜单栏控件WindowsUIButtonPanel的布局、使用和设置按钮的点击事件
  4. C语言正函数nosign,C语言标准库函数查询手册.docx
  5. VS2010提示asp.net v4.0 尚未在web服务器上注册
  6. win10电脑打开计算机快捷键,运行快捷键,教您win10打开运行快捷键是什么
  7. 阿里百川 WKWebView 无法拦截URL
  8. 【分享】ArcGIS实现分子分母等标注实用技巧
  9. ESP32 开发笔记(四)LVGL控件学习 ColorPicker 颜色选择器控件
  10. ZBLOG即时聊天(客服)插件v1.3.2版本下载,强大的在线客服系统源码
  11. 在线网页如何免费excel转pdf
  12. 对小米路由器提出严正批评,2.4G下,40MHz自动变20MHz
  13. 用php代码实现逻辑不通的文章生成器
  14. 如何通过数据分析找到热销产品?
  15. WIFI基础入门--802.11--高速直接序列物理层(HR/DSSS)--13
  16. [Codefroces 1230E] Kamil and Making a Stream(List dfs gcd)
  17. 基于keil环境下mm32f327单片机rtthread的移植
  18. 2021年推荐阅读书籍
  19. Github Fork 之后与源仓库保持同步
  20. 第二章 GPU虚拟化方案之——GPU直通模式

热门文章

  1. centos 6.9修改系统默认字符集
  2. Exp3免杀原理与实践 20154326杨茜
  3. c++、C#互调用之c# 调用 vc6 COM
  4. 我的记事本(VB6)
  5. [转]请不要和陌生女人说话
  6. 物流管理系统【前台+后台】(Spring+SpringMVC+MyBatis+vue+shiro)(二)
  7. Quartz时间配置(周期任务)
  8. 本两个Build工作总结
  9. bzoj3713: [PA2014]Iloczyn(乱搞)
  10. 六月计划#2A(6.10-6.16)