6.《DevOps》系列K8S部署CICD流水线之K8S通过Yaml部署动态Jenkins-slave,以及Jenkins平台基于Gitlab实现SSO授权认证

架构

服务器IP 服务名称 硬件配置
192.168.1.100 k8s-master 8核、16G、120G
192.168.1.101 k8s-node1 8核、16G、120G
192.168.1.102 k8s-node2 8核、16G、120G
192.168.1.103 nfs 2核、4G、500G

操作系统:Rocky9.3

jenkins版本:2.477

原理

Jenkins Master 接到构建任务后会动态在集群中的一个工作节点上拉起一个Jenkins Slave Pod来干活, 活干完后可及时释放Pod。

Jenkins-slave优势

动态伸缩

合理的使用资源,每次运行 Job 时,会自动创建一个 Jenkins Slave,Job 完成后,Slave 自动注销 并删除容器,资源自动释放,而且 Kubernetes 会根据每个资源的使用情况,动态分配 Slave 到空 闲的节点上创建,降低出现因某节点资源利用率高,还排队等待在该节点的情况。

服务高可用

当 Jenkins Master 出现故障时,Kubernetes 会自动创建一个新的 Jenkins Master 容器,并且将 Volume 分配给新创建的容器,保证数据不丢失,从而达到集群服务高可用。

扩展性好

当 Kubernetes 集群的资源严重不足而导致 Job 排队等待时,可以很容易的添加一个 Kubernetes Node 到集群中,从而实现扩展。

一、部署Jenkins

下载yaml文件

mkdir -p /home/k8s

cd /home/k8s

wget https://xmars-devops.oss-cn-shanghai.aliyuncs.com/AliCloud/jenkins.tar.gz

tar -zxvf jenkins.tar.gz

cd jenkins/

修改jenkins-pvc.yaml

  nfs:
    server: 192.168.1.103
    path: /home/k8s_nfs_data/jekins

将server,path更改成正确的即可,记得NFS有挂载/home/k8s_nfs_data/jekins

修改jenkins-ing.yaml

1.更改域名地址

2.ingressClassName:kong更改为nginx

修改jenkins-rbac.yaml

将两个kind类型为ClusterRole,ClusterRoleBinding的apiVersion:rbac.authorization.k8s.io/v1beta1更改为apiVersion:rbac.authorization.k8s.io/v1

部署

kubectl create -f .

二、配置jenkins

在自己的电脑上可以写入hosts文件,进入这个目录C:\Windows\System32\drivers\etc,复制hosts文件到桌面,然后写入你的IP地址和域名,然后再hosts文件粘贴回去

浏览器访问jenkins

密码查询方法,也可以通过日志查询

kubectl exec -it jenkins-xxxxx -n devops -- cat /var/jenkins_home/secrets/initialAdminPassword

或者

kubectl logs jenkins-746c7cb78b-f52ls -n devops

1.把密码粘贴上去

2.选择插件来安装,点击左上角无,再点击安装

3.创建一个用户

4.实列配置是域名地址就行,然后点击保存完成

三、解决403问题

左边点击Manage Jenkins

点击Security

下滑找到跨站请求伪造保护

勾选Enable proxy compatibility

然后点击保存

参考图,不同jenkins版本,设置位置可能不一样

四、插

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

洋葱_学习过程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值