Jenkins远程调用
  • 将pipeline.yml配置到Gitlab中

配置yml文件

Jenkins远程调用K8S实现应用yaml的部署_服务器

  • 配置Jenkins的目标服务器,可以将yml文件传输到K8s的Master上

设置目标服务器

Jenkins远程调用K8S实现应用yaml的部署_Jenkins_02

  • 修改Jenkinsfile,重新设置流水线任务脚本,并测试效果

传递yml文件脚本

Jenkins远程调用K8S实现应用yaml的部署_服务器_03

Jenkins远程调用K8S实现应用yaml的部署_jenkins_04

  • 设置Jenkins无密码登录k8s-master
    将Jenkins中公钥信息复制到k8s-master的~/.ssh/authorized_keysz中,保证远程连接无密码

远程执行命令无需密码

Jenkins远程调用K8S实现应用yaml的部署_Jenkins_05

  • 设置执行kubectl的脚本到Jenkinsfile

设置Jenkinsfile

Jenkins远程调用K8S实现应用yaml的部署_运维_06

  • 执行查看效果

执行流水线

Jenkins远程调用K8S实现应用yaml的部署_jenkins_07

可以查看到yml文件是有变化的, 这样k8s就会重新加载

  • 查看效果

效果

Jenkins远程调用K8S实现应用yaml的部署_jenkins_08

Ps:这种方式更适用于CD操作,将项目将基于某个版本部署到指定的目标服务器