使用jenkins pipeline将项目打包运行在k8s上报错kubectl: Permission denied
2026/6/10 1:34:39 网站建设 项目流程

报错信息如下

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 ''' } }

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询