为什么我们的Jenkins Kubernetes Pods / Slaves显示为离线

时间:2017-10-09 23:03:53

标签: kubernetes jenkins-plugins

Jenkins ver。 2.77 K8s版本:v1.6.6"

我们安装了Jenkins Kubernetes插件并将其配置为与我们的K8s群集配合使用。 当我们通过测试连接时,我们能够成功连接到集群 “管理詹金斯” - > “配置系统” - > Cloud,Kubernetes。

我们的模板配置可以在这里看到

Kubernetes Pod Termplate Config

然后我们创建一个简单的工作来测试插件,看看是否会创建从属,然后运行一些简单的bash命令。

我们正在测试的bash命令是:

sleep 10
echo "I am a slave"
echo "This is a K8s plugin generated slave"

当我们配置插件时,我们分配了标签" autoscale"。此外,我们设置了自己的工作标签autoscale。

在标签表达下的作业配置中,我们还会看到以下内容 "标签自动缩放由没有节点和1个云"

提供服务

然后我们开始在Jenkins" Build Now" 然后我们看到在我们的K8s群集中创建的pod

jenkins-pod-slave-d4j3n                                           1/1       Running             0          21h
jenkins-pod-slave-tb2td                                           1/1       Running             0          21h

但请注意,在构建历史记录下,我们可以看到以下消息

1

(待定 - 标签'autoscale'的所有节点都处于离线状态)

调查pod的日志不输出任何内容

kubectl logs jenkins-pod-slave-d4j3n
kubectl logs jenkins-pod-slave-tb2td

调查Jenkins日志,我们可以看到以下消息。

2017年10月8日下午6:18:16 org.csanchez.jenkins.plugins.kubernetes.KubernetesCloud addProvisionedSlave INFO:模板Jenkins-Pod-Slave的模板实例上限为2,而不是配置:2在名称空间{3}中运行,标签为{4}

  • 我们担心的是命名空间和标签值没有被正确选取,可能是问题的根源。

1 个答案:

答案 0 :(得分:1)

您的问题可能是命令和参数。

命令应该为空,参数应设置为:

$ {computer.jnlpmac} $ {computer.name}

这将允许jnlp slave正确连接到jenkins master