Kubernetes上的Jenkins奴隶吊舱在它们被大量奔跑的吊舱包围时消失

Kubernetes上的Jenkins奴隶吊舱在它们被大量奔跑的吊舱包围时消失,jenkins,kubernetes,horizontal-pod-autoscaling,Jenkins,Kubernetes,Horizontal Pod Autoscaling,我有一个Kubernetes集群在一个吊舱中运行Jenkins master,每个构建在一个单独的从吊舱中运行。当有许多构建在运行时,会有许多吊舱上下旋转,我经常会在这样的作业中看到错误: Cannot contact slave-jenkins-0g9p0: hudson.remoting.ChannelClosedException: Channel "hudson.remoting.Channel@197b6a38:JNLP4-connect connection from 10

我有一个Kubernetes集群在一个吊舱中运行Jenkins master,每个构建在一个单独的从吊舱中运行。当有许多构建在运行时,会有许多吊舱上下旋转,我经常会在这样的作业中看到错误:

Cannot contact slave-jenkins-0g9p0: hudson.remoting.ChannelClosedException: Channel "hudson.remoting.Channel@197b6a38:JNLP4-connect connection from 10.10.3.90/10.10.3.90:54418": Remote call on JNLP4-connect connection from 10.10.3.90/10.10.3.90:54418 failed. The channel is closing down or has closed down
Could not connect to slave-jenkins-0g9p0 to send interrupt signal to process
例如,吊舱就消失了。没有它存在的痕迹。在查看诸如
kubectl description pod slave-jenkins-0g9p0
之类的信息时,没有错误消息,它只是停止存在

我有一种感觉,因为有多个吊舱上下旋转,Kubernetes试图平衡节点上的负载并重新安排吊舱,但在杀死它之后,它无法在另一个节点上旋转吊舱。不过我不能肯定。也许有一种方法可以告诉K8s将pod绑定到节点上,直到它自己退出?我真的不确定如何调试这个案例

  • Kuberentes版本:
    v1.16.13-eks-2ba888
    AWS eks
  • 詹金斯版本:
    2.257
  • Kubernetes插件版本
    1.27.2
如有任何建议,将不胜感激

谢谢

更新:

我上传了三个从吊舱清单示例,您可以在其中看到分配的资源。上述问题发生在每个跑步吊舱中

节点池由Kubernetes autoscaler(
v1.14.6
)控制,并使用AWS t3a.large(2个CPU,8GB内存)实例

更新2:

我相信我已经找到了问题的原因。我禁用了群集自动缩放器]()(v1.14.6),问题停止了


因此,似乎正在发生的是,autoscaler正在删除从属pd运行的节点。我知道污点可以用来告诉autoscaler不要删除节点,但是有没有一种方法可以动态地做到这一点,即如果某个pod正在运行,它不会删除节点。无需开发新产品。

pod有任何限制吗?节点上是否有足够的资源?你能分享示例
pod/deployment
manifest吗?嗨@MariuszK。我用进一步的信息更新了原来的问题。谢谢从POD终止时起,节点中是否有日志?