xuxueli / xxl-job

A distributed task scheduling framework.(分布式任务调度平台XXL-JOB)
http://www.xuxueli.com/xxl-job/
GNU General Public License v3.0
27.47k stars 10.86k forks source link

容器环境XXL_JOB_EXECUTOR_IP注册节点IP失败 #3193

Closed prometheus-tao closed 1 month ago

prometheus-tao commented 1 year ago

Please answer some questions before submitting your issue. Thanks! 在容器环境里面部署xxl-executor并注册到服务端定时执行,由于集群所在的环境pod的ip无法在外部访问,而xxljob-admin服务端部署在集群之外,所以要将xxl.job.executor.ip和xxl.job.executor.port修改成节点的IP、NodePort方式,按照官网的文档在Deployment里面配置如下环境变量

XXL_JOB_EXECUTOR_IP=status.hostIP XXL_JOB_EXECUTOR_PORT=30088

Which version of XXL-JOB do you using?

XXL-JOB 2.1.2

Expected behavior

集群节点的IP和NodePort端口自动注册到xxljob-admin服务端

Actual behavior

容器服务启动成功之后发现注册到xxljob-admin服务端的还是Pod IP地址,这样就无法在集群之外调用去执行任务,进入容器命令行发现XXL_JOB_EXECUTOR_IP变量的值是节点IP,可实际服务端注册的确是Pod IP,需要将注册方式修改成手动,将Pod IP和端口改为主机的ip、NodePort

Steps to reproduce the behavior

  1. 在容器环境部署一个xxl-executor服务并配置XXL_JOB_EXECUTOR_IP=status.hostIP,XXL_JOB_EXECUTOR_PORT=30088环境变量
  2. 在xxljob-admin服务端查看注册的信息是否正确

    Other information

prometheus-tao commented 1 month ago

通过xxl.job.executor.address 参数来修改java启动命令后注册是可以的 -Dxxl.job.executor.address=http://$(XXL_JOB_EXECUTOR_IP):$(XXL_JOB_EXECUTOR_PORT)/