Knative / Kubernetes用于出站流量的唯一IP

问题描述 投票:2回答:1

题:

Knative是否公开了允许我以这种方式配置堆栈的低级网络组件,每个实例都有一个唯一的IP地址可用于出站网络?

信息

我有一个必须在队列事件上发生的工作量。传入的事件将开始在API上获取。由于速率限制和请求数量(大约100),这个过程是长期运行和wait / request / wait / request / wait / ..。代码(JS)基本上做的是,使用队列消息中的参数命中API端点,并将100个API请求的结果发送回另一个队列。

Lamdba上的无服务器因此非常昂贵,同样在AWS上可能会在同一个VM(已测试)上生成多个实例,从而导致出站流量使用相同的IP。因此Lambda不适合我。

我最近读了很多关于Knative的内容,我想Kubernetes堆栈提供了更好的可配置性。我需要有我的服务的并发实例,但我需要为每个实例提供一个唯一的出站IP。

目前,该解决方案部署在AWS Beanstalk上,我根据队列长度将其扩展出来。因此,同时存在1到10个实例并执行API请求。我使用微实例,因为CPU /../ ..负载非常低。 Beanstalk存在多个问题,这就是我们想要移动的原因。

我不期望每月的成本优势(IP价格昂贵,没关系),我对Beanstalk上的部署感到不满意。

kubernetes outbound knative
1个回答
2
投票

恕我直言,与KNative / Kubernetes一起去可能不是在这里继续前进的方式。为了获得一些IP地址,您必须管理大量的复杂性。 Beanstalk看起来像是在公园散步。

根据您需要的IP数量,您可以设置一些加载了IP地址的EC2实例。一个便宜的t3.small实例可以托管12个IPv4地址(ref),您的JS代码可以简单地从每个不同的IP地址发送请求。 (根据您的JS http客户端,通常可以设置localAddress选项。)

© www.soinside.com 2019 - 2024. All rights reserved.