Jenkins Pipeline 流水线 - K8S kubectl 升级

使用代理节点

Remote SSH 远程执行命令进行升级

Remote SSH 方式

安装插件

SSH Pipeline Steps

Pipeline SSH 脚本

credentialsId: 'K8SMaster'

pipeline {

agent any

stages {

stage('Remote SSH') {

steps {

script {

def remote = [:]

remote.name = 'Test'

remote.host = '172.16.3.181'

remote.allowAnyHosts = true

withCredentials([usernamePassword(credentialsId: 'K8SMaster', passwordVariable: 'password', usernameVariable: 'username')]) {

remote.user = "${username}"

remote.password = "${password}"

}

sshCommand remote: remote, command: "kubectl version"

}

}

}

}

}

Pipeline Remote SSH K8S 升级

pipeline {

agent any

stages {

stage('Remote SSH') {

steps {

script {

def remote = [:]

remote.name = 'Test'

remote.host = '172.16.3.181'

remote.allowAnyHosts = true

withCredentials([usernamePassword(credentialsId: 'K8SMaster', passwordVariable: 'password', usernameVariable: 'username')]) {

remote.user = "${username}"

remote.password = "${password}"

}

sshCommand remote: remote, command: "kubectl set image deployment/javademo1 vipsoft=registry.cn-shanghai.aliyuncs.com/vipsoft/vipsoft:4.0"

}

}

}

}

}

代理方式

新增K8S节点

注意JDK

[root@k8smaster k8s]# tar -zxvf /opt/k8s/jdk-11.0.17_linux-x64_bin.tar.gz -C /opt/k8s

[root@k8smaster k8s]# mv jdk-11.0.17 jdk

[root@k8smaster k8s]# ll

总用量 166600

drwxr-xr-x. 9 root root 126 11月 2 15:54 jdk

-rw-r--r--. 1 root root 169251172 11月 1 16:39 jdk-11.0.17_linux-x64_bin.tar.gz

-rw-r--r--. 1 root root 1339992 11月 2 15:50 remoting.jar

[root@k8smaster k8s]#

Pipeline Script

pipeline {

agent none

stages {

stage('代理节点运行') {

agent { label 'K8SAgent' } //这边使用节点名称或节点标签,都可以运行

steps {

sh 'kubectl set image deployment/javademo1 vipsoft=registry.cn-shanghai.aliyuncs.com/vipsoft/vipsoft:4.0'

echo '构建完成'

}

}

}

}

相关链接

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。