【问题标题】:Kubernetes Jenkins plugin - Jenkins doesn’t have label mypodKubernetes Jenkins 插件 - Jenkins 没有标签 mypod
【发布时间】:2017-09-07 09:01:46
【问题描述】:

我正在尝试使用动态从属在 Kubernetes 上执行 jenkins CI/CD,我的 jenkins 版本是官方镜像 2.60.2,而 kubernetes-plugin 是 1.0。用kubernetes添加云后,slave跑不起来了。它显示:

待定——Jenkins 没有标签 mypod

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

下一个错误:

Jenkins 没有标签 mypod

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

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

【问题讨论】:

    标签: kubernetes jenkins-pipeline


    【解决方案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 不支持端口范围。

    但我可以解雇一个奴隶并做一些工作!

    【讨论】:

    • 在日志中检查容器盖的值,它应该设置为更高的值。
    • 如果作业卡在Jenkins doesn’t have label mypod,那么在 k8 中此时没有创建 pod。意味着没有要查看的 pod 日志。你不能假设它的 jnlp 问题。您知道在哪里查找表明这是 jnlp 问题的日志吗?
    • @Jessie 它回答了你的问题吗?你还有这个问题吗?
    猜你喜欢
    • 2019-02-10
    • 2018-02-28
    • 1970-01-01
    • 2016-02-20
    • 1970-01-01
    • 2021-11-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-24
    相关资源
    最近更新 更多