【问题标题】:Azure VNet ip to Kubernetes Ingress controllerAzure VNet ip 到 Kubernetes 入口控制器
【发布时间】:2020-02-23 21:13:51
【问题描述】:

我有一个关于将 IP 从 Azure VNET 分配给 nginx-ingress 负载均衡器的问题。我是一个新手,因此想检查我正在考虑的方法是否可行。

我们计划在 Azure Kubernetes 中部署一个内部应用程序。为了最大限度地减少 Ips 的使用(因为我们的团队通过 Azure VNET 分配了少量 IP 地址),我们已经在 AKS 中进行了基本网络,并计划使用从 Azure VNET 分配的 IP 更新 Nginx 负载均衡器。

这种方法行得通吗?

我的困惑是我创建的AKS集群使用基本网络,它自动创建了自己的VNET和NSG,但是公司分配给我们的IP地址属于不同的Azure VNET。

我的限制是我想从我们分配的 IP 范围内使用最少数量的 IP 地址。我会对其他人如何解决这个问题感兴趣。

非常感谢您的帮助。

【问题讨论】:

    标签: azure kubernetes nginx-ingress


    【解决方案1】:

    如果需要使用已有VNET的地址空间,需要在部署资源时选择高级网络配置,选择已有的VNET和子网。

    这样,应用程序将从您的 VNET 内置 DHCP 服务器获得 IP 租用。

    虽然可能有一些方法可以促进以您部署的方式路由到集群,但使用 VNET 对等互连会导致架构变得不必要的复杂。

    编辑:

    如果您因为 IP 分配限制而别无选择,只能将 AKS 部署到不同的网段,您仍应使用高级网络选项,但创建一个地址空间不与现有 VNET 重叠的新 VNET。

    例如,如果您的生产 VNET 地址空间是 10.0.0.0/8,那么您必须使用适合 192.168.0.0/16 或 172.16.0.0/12 的地址空间 - 不重叠。

    部署后,您必须在两个 VNET 之间创建对等互连。见https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-peering-overview

    配置对等互连后,您可以在具有 IP 限制的 VNET 中创建一个内部负载平衡器,并将后端池设置为您的应用程序的 AKS 负载平衡器地址。

    这种架构只是针对您的 IP 分配限制的一种解决方法,不推荐使用。 10.0.0.0/8 地址空间中有 16m+ 个 IP 地址可用。如果您在此空间中受限于单个 IP 地址,那么您要么拥有巨大的环境,要么您的 VNET 设置不是最佳的或不适合

    【讨论】:

    • 感谢您的回复。我们目前受到可以从 Azure VNET 使用的 IP 地址数量(理想情况下为 1 个)的限制。如果我们使用高级网络路由,那么 Pod 将用完我们想要避免的 IP 地址。
    • 感谢您的回答,这应该适用于设置。但是,我感谢您的 cmets 解决问题,我将在内部进行验证。
    猜你喜欢
    • 2022-01-26
    • 1970-01-01
    • 1970-01-01
    • 2021-01-28
    • 2021-04-17
    • 2021-01-04
    • 2020-02-10
    • 2018-07-22
    • 2018-10-29
    相关资源
    最近更新 更多