Kubernetes Jenkins插件 - Jenkins没有标签mypod

时间:2017-09-07 09:01:46

标签: kubernetes jenkins-pipeline

我正在尝试使用动态奴隶在Kubernetes上执行jenkins CI / CD,我的jenkins版本是官方图像2.60.2,而kubernetes-plugin是1.0。使用kubernetes添加云后,奴隶无法启动。它显示:

  

待定 - 詹金斯没有标签mypod

我指的是 Kubernetes Jenkins plugin - slaves always offline 配置jenkins系统。我发现这个问题被描述为一个缺陷,我不知道这是否更新到最新的jenkins图像。这是链接:https://github.com/jenkinsci/kubernetes-plugin/pull/127

下一个错误:

  

詹金斯没有标签mypod

这可能是因为400d1ed? KubernetesDeclarativeAgentScript.groovy可能需要获得更新。

有谁知道如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

关键字是(一如既往):查看日志!您应该在发出

时看到错误
kubectl logs $JENKINS_POD_NAME

此外,您可以尝试以下命令。在这里,您的故障奴隶将被列出。查看这些日志:

kubectl get pods -a

您的问题与JNLP通信,slave-> master

有关

我的jenkins在容器中运行,我不得不将JNLP端口暴露给集群节点(nodePort)。

apiVersion: v1
kind: Service
metadata:
  name: jenkins
  labels:
    app: jenkins
spec:
  ports:
    - name: jnlp
      port: 40294
      targetPort: 40294
    - name: http
      port: 80
      targetPort: 8080
  selector:
    app: jenkins
    tier: jenkins
  type: NodePort

同样在jenkins安全性中,查找JNLP并启用所有协议。 我还在玩固定或随机端口。不知道如何从k8s服务中公开随机端口。 k8s不支持端口范围。

但是我能够解雇奴隶并做一些工作!