在 kubernetes 中为 pod 设置静态公共 IP

在 kubernetes 中为 pod 设置静态公共 IP

在我的数据中心,我实现了一个包含 3 个工作节点和一个主节点的 Kubernetes 基础架构。

我希望构建 5 个正在运行的 pod postfix mail server,但是由于存在被列入黑名单的风险,我希望为每个 pod 分配一个特定的公共 IP 用于出站流量。

我不知道是否可以这样做,并且有没有什么办法可以解决NATpod 地址问题?

答案1

发布这个答案作为更多潜在的指针来检查,因为每个解决方案和每个基础设施可能存在特定的要求和限制。

请随意扩展它。

可能的解决方案:

  • Multus中央网络接口
  • OVS中央网络接口

Multus中央网络接口

正如我在评论中所说,可能的解决方案之一是Multus

Multus CNI 是一个容器网络接口(CNI)Kubernetes 插件,支持将多个网络接口连接到 Pod。通常,在 Kubernetes 中,每个 pod 只有一个网络接口(除了环回接口)——使用 Multus,您可以创建具有多个接口的多宿主 pod。这是通过 Multus 充当“元插件”来实现的,元插件是一个可以调用多个其他 CNI 插件的 CNI 插件。

--Github.com: 英特尔:Multus CNI

关于配置和使用请参阅其文档:

附注!

Multus也可以在 Kubernetes 配置工具中指定安装,例如库贝斯普雷


OVS中央网络接口

您可以在 Open vSwitch 官方 Github 页面上阅读:

此插件允许用户在节点上可用的 Open vSwitch 网桥上定义 Kubernetes 网络。请注意,ovs-cni 不会配置网桥,而是由用户创建网桥并将其连接到 L2、L3 或覆盖网络。

Github.com: Kubevirt:OVS CNI

上面的链接中列出了需要满足的要求以及一些示例。


我鼓励你查看以下其他资源:

第二个附注!

您还可以检查Istio Egress 网关可以满足您的需要。

相关内容