使用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"
如果使用百度查找的方法去修改版本v1则无法解决问题
解决方法
把kubectl的权限文档config复制到jenkins用户的对应目录
- 修改/etc/passwd
把用户jenkins修改成可以登录的sbin
jenkins:x:996:992:Jenkins Automation Server:/var/lib/jenkins:/bin/bash
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,lib,var,jenkins,k8s,config From: https://www.cnblogs.com/minseo/p/17974072