使用jenkins pipeline将项目打包运行在k8s上报错kubectl: Permission denied

报错信息如下

复制代码
        stage('deploy to dev') {
            steps {
                input(id: 'deploy-to-dev', message: 'deploy to dev?')
                sh '''
                    kubectl apply -f deploy/cicd-demo-dev.yaml
                '''
            }
        }

使用这个jenkinsfile,在jenkins运行job时,执行到deploy to dev时,报错了,报错内容为/var/jenkins_home/workspace/k8s-cicd-demo@tmp/durable-c9f7af87/script.sh.copy: 6: kubectl: Permission denied

报错原因

kubectl 二进制文件根本不存在于你的 maven agent pod 中。Shell 找不到可执行文件时也会报这个错(Linux 的 exec 返回 EACCES/ENOENT 时 shell 显示为 "Permission denied")。

解决办法

在 deploy 阶段里动态安装 kubectl。

动态下载 kubectl(curl)

复制代码
        stage('deploy to dev') {
            steps {
                input(id: 'deploy-to-dev', message: 'deploy to dev?')
                sh '''
	                curl -sLO "https://dl.k8s.io/release/v1.28.9/bin/linux/amd64/kubectl"
chmod +x kubectl
                    kubectl apply -f deploy/cicd-demo-dev.yaml
                '''
            }
        }
相关推荐
huaweichenai6 小时前
spring boot对接阿里短信
java·spring boot
KING-WU5126 小时前
Linux 工具之Make 与 Makefile
java·linux·服务器
马剑威(威哥爱编程)6 小时前
【AI全栈后端12-08】Spring Boot 用 MCP 统一接入内部系统:让 AI 接一次,全公司复用
java·人工智能·spring boot
顽疲6 小时前
从零用 Java 实现小红书 SpringBoot Vue UniApp(23)笔记话题多对多:一条笔记进多个话题池
java·vue.js·spring boot
木井巳6 小时前
【BFS 解决拓扑排序】课程表
java·算法·leetcode·广度优先·宽度优先·推荐算法·图搜索算法
Crazy________6 小时前
05Linux内存管理核心原理与运维实战
java·开发语言
Nebula_g6 小时前
JavaSE拓展:工具类Executors
java·开发语言·后端·spring·基础·javase
长弓三石7 小时前
企业级Harness开源平台BizBuddy适配AgentScope-2.0.4并发布0.7.0版本
java·人工智能·aigc
扶风ff7 小时前
练题簿在线免费刷题:会员线下组卷、Word 试卷与成绩导入,课堂检测更方便
java·开发语言·算法·小程序·word
鱼宵7 小时前
Spring AI 可观测与透明化:traceId 串起全链路,思考过程实时直播给用户
java·人工智能·spring·链路追踪·springai