如何在jenkins中设置kubectl

时间:2019-08-30 02:05:45

标签: jenkins kubectl

我的jenkins在EC2上运行并安装了kubectl。我还配置了kubectl以与AWS中的EKS集群进行通信。

现在,我正在尝试使用Jenkins管道自动将应用程序部署到EKS。但是当詹金斯到达下面的代码

sh "kubectl apply -f platform_api_deployment.yml"

正在向我显示此错误

/var/lib/jenkins/workspace/platform-api-pipeline/kubernetes@tmp    
/durable-2696d974/script.sh: line 1: kubectl: command not found

我尝试手动部署它,并且效果很好。

3 个答案:

答案 0 :(得分:1)

您需要在EC2上安装kubectl 实例 (遵循此链接:https://kubernetes.io/docs/tasks/tools/install-kubectl/)。

安装后,您必须导出路径https://opensource.com/article/17/6/set-path-linux

或者您使用完整路径,例如: sh“〜/ place / where / kubectl / installed / kubectl apply -f platform_api_deployment.yml”

答案 1 :(得分:0)

您是否在其他Machine / EC2上运行jenkins slave?我认为如果与主节点不同,则需要在从属服务器上安装kubectl

答案 2 :(得分:0)

您需要在构建映像时在dockerfile中添加kubectl二进制文件,以便在jenkins作业期间执行。

COPY kubectl /bin/kubectl 

一旦获得kubectl二进制文件,就将该值添加到docker文件中。