使用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
                '''
            }
        }
相关推荐
OxYGC17 分钟前
[AI工程] Spring AI 第十四篇:Agent 五种模式在 2.0 里怎么写
java·spring·ai·ai编程
code2cat17 分钟前
【随笔】从聊天到调用工具:理解MCP在AI应用中的位置
java·人工智能
2501_9339232526 分钟前
Spring Bean作用域揭秘:单例、原型、请求与会话的区别
java·后端·spring·java-ee
学编程就要猛43 分钟前
基于Spring AI 的智能聊天机器人
java·spring ai·chat robot
修炼室1 小时前
Java开发工程师笔试经验贴【高频知识】
java
木井巳1 小时前
【记忆化搜索】最长递增子序列
java·算法·leetcode·深度优先·剪枝·推荐算法
杨杨杨大侠1 小时前
知识库已经有了,Java 程序员还要做什么?Spring AI RAG 实战
java·openai·ai编程
伊信1 小时前
Spring AI 基础学习与应用
java·后端
夜郎king1 小时前
基于 Java + Playwright 实现网站自动访问与数据采集(以腾讯云开发者社区为例)
java·playwright·网页数据获取
Anastasiozzzz1 小时前
重新定义 Agent 基建:Redis 在现代 AI 与智能体系统中的工程实践
java·人工智能·redis·ai