K8S+Jenkins+Harbor+Docker+gitlab集群部署(问题记录)

参考了大佬的文章进行部署,但又没完全一样地部署,导致过程遇到很多的坑,这里记录一下自己遇到的问题

K8S+Jenkins+Harbor+Docker+gitlab集群部署_L.P.H的博客-CSDN博客

下面的目录跟大佬的一致,但不再复述搭建过程,而是记录不一样的地方

1. 准备以下服务器

centos7系统:CentOS-7-x86_64-DVD-1810.iso(有点不一样,但区别应该不大)

服务器我只设了三台,一主二从,账密都是root,harbor放在master节点,jenkins和gitlab放在node1节点(后面如果遇到问题再试着调整吧...)

配置一开始我给的很少,后来发现部署过程中遇到卡顿、卡死的情况,一番百度后才发现harbor等容器对服务器还是有一定要求的,后来就设置了2cpu2核8g内存。

2.所有服务器统一处理执行

跟着大佬操作就行

用MobaXterm这款软件可以多台服务器同时操作

右上角是同时粘贴

2.5 时间同步

没有下载ntpdate,而是用了另一种方式。

# 启动chronyd服务
systemctl start chronyd
 
#设置chronyd服务开机自启
systemctl enable chronyd
 
# chronyd服务启动稍等几秒钟,就可以使用date命令验证时间了
date

 2.9 下载docker

我直接用了最新版的docker

docker -v

3. K8S服务器配置

3.2 安装 kubeadm,kubelet 和 kubectl

这里我采用比较新的v1.26的,部署过程有些不一样,参考了以下文章,集群网络我也跟着选择了Calico而不是flannel。

里面安装Calico遇到的报错我也遇到了,但是我没有更换版本也成功了,实际可根据自己情况去调整。

centos7系统-kubeadm安装k8s集群(v1.26版本)亲测有效,解决各种坑可供参考-CSDN博客

4. 配置Jenkins服务器

docker-compse并没有伴随安装,手动下载一个

yum install -y epel-release
yum install -y docker-compose
docker-compose

这里我一开始将Jenkins部署在master节点,但不知道是配置不够还是环境设置有问题,每次启动jenkins都exited,很多报错而且卡顿,后来改为在node1节点部署,可能是环境比较干净,一次就跑起来了。(其实这时候master节点的配置是要比node1要高的)

4.5 配置下镜像加速

关于这部分,网上有很多教程,但是参考了教程的做法,我在初始化下载插件的时候还是一堆红的。后来发现,其实加速是已经起效了,红的原因是jenkins的版本比较旧,而下载的插件几乎都是最新的...自己没有仔细查看容器日志还百度了半天加速的办法....这里只要等它下载完,报错也没关系。

4.8 升级Jenkins

升级Jenkins就可以解决插件报错的问题,这里我直接去官网找了几乎最新的jenkins.war包给换上去了。

5. 配置Gitlab服务器

Gitlab一开始我是打算放在node1服务器,但是每次初始化都卡住,整个虚拟机都变得很卡很卡。后来一番百度,用free -m可以看到资源在一步步减少,发现是资源不够用了

free -m

给自己提了个醒,虚拟机卡顿,应该首先监控一下资源使用情况,然后再根据占用率高的应用排查一下... 

 干脆把harbor放在master节点,并且把master节点的资源调整到2c2核 8G内存,一次就部署成功了。

5.3 编写docker-compose.yml

这里我把端口80:80改为了8443:80,给自己在连接Jenkins的时候埋了个坑..

(其实不太明白为什么大部分教程都用80端口)

6. 配置Harbor镜像仓库

之前自己已经试过部署Harbor,遇到很多问题,最麻烦的是核心服务不可用。

网上很多教程都说去修改pg3的权限,但是每次开机重启,又要删除pg3才行。

这次不知道是不是因为docker版本比较新,部署的时候一下就成功了。

harbor 1.x版本是修改harbor.cfg配置,harbor2.x 版本是修改harbor.yml配置

7.gitlab服务器连接Harbor

8.jenkins与gitlab持续集成

8.4 为Jenkins 添加全局凭据(私钥)

这里复制私钥我是把-----BEGIN OPENSSH PRIVATE KEY------和-----END OPENSSH PRIVATE KEY------也复制进去了,实际上应该没影响。

Jenkins添加git仓库的时候一直报错

Failed to connect to repository : Command "git.exe ls-remote -h -- http://XXX/XXX/cicd.git HEAD" returned status code 128:
stdout:
fatal: repository 'http://XXX/XXXX/cicd.git/' not found

找了很多教程都没解决问题,大部分都是说权限原因,后面自己在容器内执行语句,也是一样的报错。一开始觉得是jenkins和gitlab不在同一台虚拟机的原因,但又觉得不太可能。最后回顾自己操作的时候终于想起自己在部署Gitlab的时候改了端口号,不是默认的80端口。

所以大部分教程都是让你去直接复制gitlab的地址

然后实际上,由于我改了端口,所以准确的地址是应该加上端口号:

http://192.168.3.100:8443/root/test.git

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。服了自己

后续更新中。。

  • 13
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值