使用jenkins构建k8s项目怎么执行kubectl命令

使用jenkins构建k8s项目时需要执行kubectl命令
因为使用jenkins使用的用户是jenkins所以在执行kubectl时没有权限,但是在页面报错不会报权限错误
而是报以下错误

error: unable to recognize "k8s/xiaoxing-labs-web-deployment.yaml": no matches for kind "Deployment" in version "apps/v1"

image
如果使用百度查找的方法去修改版本v1则无法解决问题
解决方法
把kubectl的权限文档config复制到jenkins用户的对应目录

  1. 修改/etc/passwd
    把用户jenkins修改成可以登录的sbin
jenkins:x:996:992:Jenkins Automation Server:/var/lib/jenkins:/bin/bash

image
2. 复制config文档到对应的目录
改配置文件的生成方法参考
https://www.cnblogs.com/minseo/p/12397159.html
jenkins用户默认的家目录是

/var/lib/jenkins

创建文件夹把config复制到对应文件夹

mkdir /var/lib/jenkins/.kube
cp config /var/lib/jenkins/.kube

这样jenkins用户就有了kubectl权限
把kubectl二进制文件复制到本机

# cp kubectl /usr/bin/
# chmod +x /usr/bin/kubectl

切换到jenkins用户即可执行kubectl命令

# su - jenkins
posted @   minseo  阅读(385)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
历史上的今天:
2021-01-19 CentOS搭建radius服务器用于wifi的wap2认证
2019-01-19 MySQL主从同步添加至zabbix监控即怎么使用zabbix收集shell脚本执行数据
2019-01-19 MySQL设置只读模式
2019-01-19 MySQL使用root用户授权出现错误ERROR 1045 (28000) at line 2: Access denied for user 'root'@'%' (using password: YES)解决办法
点击右上角即可分享
微信分享提示