CI/CD持续集成与持续交付(下)-------- jenkins的节点管理,用户管理,结合ansible和k8s

二. Jenkins

实验环境基于上篇笔记:https://editor.csdn.net/md/?articleId=119616169

1 jenkins节点管理–添加agent节点

不建议在jenkins的master(server6)构建任务,server7作为agent节点,构建任务放在agent端

jenkins是java开发的,agent端安装jdk和git
在这里插入图片描述在这里插入图片描述
保证上网
在这里插入图片描述

安装插件 ssh agent
在这里插入图片描述
节点管理中----新建节点
在这里插入图片描述
此时只有master节点
在这里插入图片描述
master取消构建,只作调度
在这里插入图片描述在这里插入图片描述
交由agent构建
在这里插入图片描述
安装插件后,会成功显示agent节点
在这里插入图片描述

None verifying 无需校验key
在这里插入图片描述在这里插入图片描述在这里插入图片描述

取消ssh,使用shell命令
在这里插入图片描述
docker项目选择手动构建
在这里插入图片描述
构建成功在这里插入图片描述
查看控制台输出,此时已经由agent节点构建
在这里插入图片描述
server7上,查看镜像,此镜像是:删除之前的镜像,新建镜像
在这里插入图片描述

2 用户管理

系统管理----> 管理用户
在这里插入图片描述
新建用户
在这里插入图片描述
创建新用户 jiaojiao ,补全信息
在这里插入图片描述
查看用户列表,会有新的用户jiaojiao
在这里插入图片描述
以新建用户jiaojiao身份登陆,发现此用户具有全部权限
在这里插入图片描述在这里插入图片描述
原因
系统管理—>全局安全配置中

在这里插入图片描述
默认的是登陆用户可以左任何事!!!
在这里插入图片描述
安装插件Role 安装后通过插件授权
在这里插入图片描述在这里插入图片描述

系统管理--->全局安全配置

在这里插入图片描述
选择Role-Based Strategy(类似rbac),设置后除了admin用户以外,其他用户均需要授权才可进行操作

在这里插入图片描述
系统管理--->安全配置中会新增 Manager and Assign Roles
在这里插入图片描述
重新以jiaojiao用户登陆,发现没有任何权限!!!
在这里插入图片描述
系统管理--->安全--->Manager and Assign Roles中选择管理角色
在这里插入图片描述
管理角色:jiaojiao用户
在这里插入图片描述
设定所有以westos开头(westos .*)的项目jiaojiao用户具有以下权限
在这里插入图片描述

分配角色
在这里插入图片描述
设定jiaojiao为user用户
在这里插入图片描述
重新以jiaojiao用户身份登陆,可以看到westos项目!!!
在这里插入图片描述
admin用户,创建项目westos01 ,自由风格
在这里插入图片描述
此时有三个项目
在这里插入图片描述
测试查看用户jiaojiao的权限
在这里插入图片描述
可以删除westos01项目
在这里插入图片描述

在这里插入图片描述
admin用户登陆查看,已不存在westos01项目
在这里插入图片描述

3 jenkins结合ansible

在ansible和saltstack之间,通常几百个节点用ansible,因为ansible用ssh连接、几万个节点用saltstack,消息队列更加轻量级。

新建server8主机
在这里插入图片描述
查看正在运行的虚拟机:

server1为harbor仓库
server5为gitlab
server6为jenkins,ansible主机
server7为ansible的受控主机
server8为ansible的受控主机

在这里插入图片描述
取消agent构建,构建还是交由master
在这里插入图片描述
成功删除agent节点
在这里插入图片描述
master节点将原来的0修改
在这里插入图片描述在这里插入图片描述
master关联项目成功
在这里插入图片描述在这里插入图片描述
禁掉docker项目
在这里插入图片描述在这里插入图片描述

创建自由风格的ansible项目
在这里插入图片描述
查看项目
在这里插入图片描述
server6配置ansible仓库,可以使用epel源下载
在这里插入图片描述在这里插入图片描述

在这里插入图片描述
安装ansible
在这里插入图片描述
gitlab远程私有代码仓库中新建仓库
在这里插入图片描述在这里插入图片描述
新建playbook仓库,选择私有,初始化自动生成readme文件
在这里插入图片描述
查看playbook仓库
在这里插入图片描述
本地git端ssh方式克隆远程私有代码仓库gitlab中的playbook仓库
在这里插入图片描述

编写playbook.yaml文件

template:
      src: httpd.conf.j2 %模板文件:j2
      dest: /etc/httpd/conf/httpd.conf
模板更改需要触发:notify,重启apache
配置触发器:handlers,

在这里插入图片描述
任一主机安apache,为ansible主机准备j2模板文件
在这里插入图片描述
在这里插入图片描述
复制httpd.conf文件,修改为j2模板
在这里插入图片描述
此模板中使用变量方式定义httpd的端口
在这里插入图片描述

参数化构建prod和test分别为不同的主机

在这里插入图片描述
编辑ansible.cfg配置文件
在这里插入图片描述
创建清单,server8用于测试,server7用于部署,使用不同的端口(可以写ip,域名一定要解析)
在这里插入图片描述
查看目录整体结构
在这里插入图片描述

将本地git端的数据上传到gitlab的playbook仓库中
在这里插入图片描述在这里插入图片描述
gitlab中查看playbook仓库中的文件,上传成功!!!
在这里插入图片描述
在这里插入图片描述

jenkins中的ansible项目构建:
jenkins与gitlab数据同步

在这里插入图片描述在这里插入图片描述
ansible项目,手动构建
在这里插入图片描述
查看构建历史
在这里插入图片描述
查看ansible项目的控制台输出
在这里插入图片描述
jenkins端查看,说明gitlab中的ansible项目与jenkins连接成功!!!
在这里插入图片描述

jenkins端,使用jenkins用户进行操作,需要给一个交互式bash
在这里插入图片描述

在这里插入图片描述
server7,server8
创建devops用户并修改密码,需要两节点的用户id相同
在这里插入图片描述在这里插入图片描述
由于是以jenkins用户调用ansible命令,所以需要设置jenkins用户到目标主机的免密
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
测试免密
在这里插入图片描述
server7,server8
sudo授权
在这里插入图片描述在这里插入图片描述

只需指定git仓库即可,无需gitlab主动触发,因为需要手动选择inventory构建参数
选择 参数化构建---选项参数

在这里插入图片描述
构建执行shell
执行playbook时可以指定inventory文件: test、prod
在这里插入图片描述
选择参数执行项目先测试test

在这里插入图片描述
查看构建历史
在这里插入图片描述
查看控制台输出
在这里插入图片描述
test为server7,成功部署apache,使用的是8080端口
在这里插入图片描述
选择参数执行项目测试prod
在这里插入图片描述
查看构建历史
在这里插入图片描述

查看控制台输出
在这里插入图片描述
prod为server8,成功部署apache,使用的是80端口
在这里插入图片描述

4 jenkins结合k8s

在这里插入图片描述

方法一:

ssh方式连接k8s master节点,然后执行kubectl命令即可。

方法二:

使用插件的方式管理k8s。
方法二可以查看:
https://blog.csdn.net/weixin_38320674/article/details/106654689?ops_request_misc=&request_id=&biz_id=102&utm_term=jenkins%E7%BB%93%E5%90%88k8s&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-4-.nonecase&spm=1018.2226.3001.4187

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值