是否可以根据请求向服务/入口控制器后面的所有pod发送请求?我的要求是,如果请求是/send/all,则向所有pod发送请求。
3bygqnnd1#
这是不可能的,因为入口控制器不能做到这一点(当然nginx和基于GLBC的入口不能做到这一点,芽由于如何http的工作方式,我假设这是所有入口控制器的情况)。根据你的具体情况,你有几个选择。如果你的情况只是监控,你可以控制发送到你的pod的请求数量,你可以为你的pod设置http liveness probe,这样你就可以确定如果pod没有返回正确的响应,k8s不会发送流量给它。如果您需要在所有pod上触发某个操作,您有几个选项:使用消息传递-例如,你可以使用rabbitmq chart来部署rabbitmq,并编写一些应用程序来处理你的流量。使用数据库-创建一些应用程序,在数据库中设置一些标志,并向您的应用程序添加一些逻辑来监视标志,或创建cron job并监视标志,并在pod上触发和触发所需的操作(在这种情况下,您可以使用服务帐户给予您的cron作业pod提供给k8s API以列出pod。
1条答案
按热度按时间3bygqnnd1#
这是不可能的,因为入口控制器不能做到这一点(当然nginx和基于GLBC的入口不能做到这一点,芽由于如何http的工作方式,我假设这是所有入口控制器的情况)。
根据你的具体情况,你有几个选择。
如果你的情况只是监控,你可以控制发送到你的pod的请求数量,你可以为你的pod设置http liveness probe,这样你就可以确定如果pod没有返回正确的响应,k8s不会发送流量给它。
如果您需要在所有pod上触发某个操作,您有几个选项:
使用消息传递-例如,你可以使用rabbitmq chart来部署rabbitmq,并编写一些应用程序来处理你的流量。
使用数据库-创建一些应用程序,在数据库中设置一些标志,并向您的应用程序添加一些逻辑来监视标志,或创建cron job并监视标志,并在pod上触发和触发所需的操作(在这种情况下,您可以使用服务帐户给予您的cron作业pod提供给k8s API以列出pod。