Kubernetes Jenkins 插件 - Jenkins 没有标签 mypod

Jes*_*sie 6 kubernetes jenkins-pipeline

我正在尝试在 Kubernetes 上使用动态从站执行 jenkins CI/CD,我的 jenkins 版本是官方映像 2.60.2,而 kubernetes-plugin 是 1.0。用kubernetes加了个云后,slave跑不起来。表明:

待定——Jenkins 没有标签 mypod

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

下一个错误:

詹金斯没有标签 mypod

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

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

Bja*_*ndt -1

关键词是(一如既往):查看日志!发布时您应该会看到错误

kubectl logs $JENKINS_POD_NAME
Run Code Online (Sandbox Code Playgroud)

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

kubectl get pods -a
Run Code Online (Sandbox Code Playgroud)

您的问题与JNLP通信有关,从机->主机

我的 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
Run Code Online (Sandbox Code Playgroud)

另外,在 jenkins security 中,查找 JNLP 并启用所有协议。我仍在使用固定或随机端口。不知道如何从 k8s 服务公开随机端口。k8s 不支持端口范围。

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

  • 如果作业卡在“Jenkins 没有标签 mypod”,那么此时 k8 中没有创建 pod。意味着没有 pod 日志可供查看。你不能假设它的 jnlp 问题。您知道在哪里查找表明这是 jnlp 问题的日志吗? (6认同)