jenkins kubernetes插件-等待代理连接(1/100)

jenkins kubernetes插件-等待代理连接(1/100),jenkins,kubernetes,jenkins-plugins,Jenkins,Kubernetes,Jenkins Plugins,问题出在哪里 基于以下配置,我做了2个测试用例: 我使用我的指定图像,有2个容器将在同一个pod中创建,包括我的定义容器,jenkins kubernetes插件将自动创建一个JNLP容器,但实际的命令在JNLP容器中运行,而不是在我指定的容器中运行 我尝试扩展jnlp从属映像(从office站点获取),kubenetes插件页面中的容器名称为“jnlp”(映像由office docker文件“”构建),我首先让基本jenkins/从属映像正常工作,然后根据需要尝试扩展它。 但是当我尝试使用默认

问题出在哪里 基于以下配置,我做了2个测试用例:

  • 我使用我的指定图像,有2个容器将在同一个pod中创建,包括我的定义容器,jenkins kubernetes插件将自动创建一个JNLP容器,但实际的命令在JNLP容器中运行,而不是在我指定的容器中运行
  • 我尝试扩展jnlp从属映像(从office站点获取),kubenetes插件页面中的容器名称为“jnlp”(映像由office docker文件“”构建),我首先让基本jenkins/从属映像正常工作,然后根据需要尝试扩展它。 但是当我尝试使用默认的时候,它总是提示“等待代理连接(1/100)”,似乎是等待JNLP客户端连接,我进入jenkins kubernetes插件创建的动态图像,我发现与“ENTRYPOINT[“jenkins slave”]”没有任何进程关系,我检查了jenkins日志,它提示了下面的信息。我很乐意得到任何暗示

  • ============================================================== ENV:

    $ kubectl version
    Client Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.2", GitCommit:"bb9ffb1654d4a729bb4cec18ff088eacc153c239", GitTreeState:"clean", BuildDate:"2018-08-07T23:17:28Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"linux/amd64"}
    Server Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.2", GitCommit:"bb9ffb1654d4a729bb4cec18ff088eacc153c239", GitTreeState:"clean", BuildDate:"2018-08-07T23:08:19Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"linux/amd64"}
    
    Jenkins Version :Jenkins ver. 2.138
    
    Jenkins kubernetes Plugin : 1.12.3
    
    我所做的:

    $ kubectl version
    Client Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.2", GitCommit:"bb9ffb1654d4a729bb4cec18ff088eacc153c239", GitTreeState:"clean", BuildDate:"2018-08-07T23:17:28Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"linux/amd64"}
    Server Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.2", GitCommit:"bb9ffb1654d4a729bb4cec18ff088eacc153c239", GitTreeState:"clean", BuildDate:"2018-08-07T23:08:19Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"linux/amd64"}
    
    Jenkins Version :Jenkins ver. 2.138
    
    Jenkins kubernetes Plugin : 1.12.3
    
  • Kubernetes集群运行良好
  • Jenkins主服务器独立于Kubernetes集群
  • Jenkins kubernetes plugi成功获得kubernetes凭证和连接测试
  • 添加了一个标记为POD的kubernetes云
  • 通过“限制此项目可以运行的位置”将标签与Jenkins的任务结合起来

  • 来自jenkins/slave的
    :3.23-1-1
    维修员奥列格·内纳舍夫
    LABEL Description=“这是一个基本映像,允许通过JNLP协议连接Jenkins代理”Vendor=“Jenkins project”Version=“3.23”
    复制jenkins slave/usr/local/bin/jenkins slave
    入口点[“詹金斯奴隶”]
    

    如何触发作业:

    $ kubectl version
    Client Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.2", GitCommit:"bb9ffb1654d4a729bb4cec18ff088eacc153c239", GitTreeState:"clean", BuildDate:"2018-08-07T23:17:28Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"linux/amd64"}
    Server Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.2", GitCommit:"bb9ffb1654d4a729bb4cec18ff088eacc153c239", GitTreeState:"clean", BuildDate:"2018-08-07T23:08:19Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"linux/amd64"}
    
    Jenkins Version :Jenkins ver. 2.138
    
    Jenkins kubernetes Plugin : 1.12.3
    

    Jenkins通过curl命令触发作业(不在管道中),Jenkins kubernetes插件可以使用我定义的图像触发作业。

    通过以下操作解决了此问题:

  • 在kubernetes插件中将容器名称重命名为jnlp

  • 在映像入口点中正确配置JNLP 来自特定图像
    (复制jenkins slave/usr/local/bin/jenkins slave 入口点[“詹金斯奴隶”])

  • 让“运行命令”和传递给命令的参数为空


  • 通过以下操作解决了此问题:

  • 在kubernetes插件中将容器名称重命名为jnlp

  • 在映像入口点中正确配置JNLP 来自特定图像
    (复制jenkins slave/usr/local/bin/jenkins slave 入口点[“詹金斯奴隶”])

  • 让“运行命令”和传递给命令的参数为空


  • 您好,您是否已为pod内的jnlp和其他容器提供了足够的资源(CPU和内存)?您是否可以共享pod kube-com-mini-fqt9p或在此过程中创建的任何新容器的日志<代码>kubectl logs kube com mini--n kube系统在我执行“kubectl logs kube-com-mini-bg5p4-n kube系统”后,没有任何输出,jenkins船长将尝试执行100次,然后一次又一次装入一个新的pod kube com mini-。例如,运行此命令“kubectl get po--all namespace | grep kube com mini”和“kube system kube com mini ccxcm 1/1 Running 0 1m”Hi,您是否提供了足够的资源(CPU和内存)到jnlp和pod内的其他容器?您是否可以共享pod kube-com-mini-fqt9p的日志或在此过程中创建的任何新日志<代码>kubectl logs kube com mini--n kube系统在我执行“kubectl logs kube-com-mini-bg5p4-n kube系统”后,没有任何输出,jenkins船长将尝试执行100次,然后一次又一次装入一个新的pod kube com mini-。例如,运行此命令“kubectl get po--all namespace | grep kube com mini”和“kube system kube com mini ccxcm 1/1 Running 01m”