首页 文章

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

提问于
浏览
1

詹金斯诉 . 2.77 K8s版本:v1.6.6“

我们已经安装了Jenkins Kubernetes插件并将其配置为与我们的K8s Cluster一起使用 . 当我们通过“Manage Jenkins” - >“Configure System” - > 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个 Cloud 提供服务”

然后我们在Jenkins“立即构建”中开始工作然后我们看到在我们的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:模板实例上限为2达到模板Jenkins-Pod-Slave,而不是配置:2在命名空间{3}中运行带标签{4}

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

1 回答

  • 0

    你的问题可能是命令和参数 .

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

    $ $

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

相关问题