Jenkins管道:kubectl:未找到 [英] Jenkins pipeline: kubectl: not found

查看:8
本文介绍了Jenkins管道:kubectl:未找到的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下Jenkins文件:

node {
  stage('Apply Kubernetes files') {
    withKubeConfig([credentialsId: 'jenkins-deployer', serverUrl: 'https://192.168.64.2:8443']) {
      sh 'kubectl apply -f '
    }
  }
}

运行它时,我得到了&kubectl:未找到&。我在Jenkins上安装了Kubernetes-cli插件,通过kubectl create sa jenkins-deployer生成密钥。这里出了什么问题?

推荐答案

我知道这是一个相当古老的问题,但我决定描述一种可能会有帮助的简单解决方法。
若要使用Kubernetes CLI插件,我们需要安装kubectl的Executor。

获取kubectl的一种可能方法是将其安装在Jenkins管道中,如下所示: 注意:我使用./kubectl get pods列出默认命名空间中的所有Pod。此外,您可能需要更改kubectl版本(v1.20.5)。

node {
  stage('List pods') {
    withKubeConfig([credentialsId: 'kubernetes-config']) {
        sh 'curl -LO "https://storage.googleapis.com/kubernetes-release/release/v1.20.5/bin/linux/amd64/kubectl"'  
        sh 'chmod u+x ./kubectl'  
        sh './kubectl get pods'
    }
  }
}

因此,在控制台输出中,我们可以看到它工作正常:

curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.20.5/bin/linux/amd64/kubectl
  ...
[Pipeline] sh
+ chmod u+x ./kubectl
[Pipeline] sh
+ ./kubectl get pods
NAME            READY   STATUS    RESTARTS   AGE
default-zhxwb   1/1     Running   0          34s
my-jenkins-0    2/2     Running   0          134m

这篇关于Jenkins管道:kubectl:未找到的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆