xxl-job 容器自动注册的IP在容器重启后变化,导致任务触发失败

hgtggwj0  于 4个月前  发布在  其他
关注(0)|答案(9)|浏览(83)

调度中心通过K8S集群部署,业务容器自动注册到调度中心上。若此时业务发布,会销毁原容器,创建新容器。这时容器的IP就会变更,正好有任务触发就会导致失败,请问有什么方式可以解决?

p5cysglq

p5cysglq1#

你是希望任务还是调度到那台实例上,还是希望失败的任务重新触发再次调度?

8i9zcol2

8i9zcol22#

嗯,我是希望能调度到那台新的实例上。不知有什么好的方案可以解决?

syqv5f0l

syqv5f0l3#

我可以理解为,调度失败后再次调度吗?

izkcnapc

izkcnapc4#

因为任务调度的频率比较快,譬如一分钟一次。当原业务容器销毁时,调度中心上注册的还是老地址未及时变更,这时失败重试也还是失败的,所以就会发告警邮件。我门想要的是像容器滚动发布那样,不间断的。因为现在我们服务一发布,过会就会收到任务调度失败的告警,所以想看看有什么好的方案

myzjeezk

myzjeezk5#

实例停止的时候,用一个钩子函数,去调用注册中心的注销可以吗?

com.xxl.job.core.biz.AdminBiz#registryRemove
pieyvz9o

pieyvz9o6#

好的,我试一下。多谢呢

whlutmcx

whlutmcx7#

好的,我试一下。多谢呢

请问尝试上面的方法可以吗,我们也出现了一样的问题,但是调registryRemove的话需要获取Pod IP,就需要在服务里去配置k8s client,然后根据Pod name获取Pod IP,感觉这样实现不太好

yrwegjxp

yrwegjxp8#

我也存在这样的问题,目前有反馈吗

rkkpypqq

rkkpypqq9#

我也存在这样的问题,请问有什么最优的解决方案吗

相关问题