【问题标题】:How to specify region for loadBalancer in GCE Kubernetes如何在 GCE Kubernetes 中为 loadBalancer 指定区域
【发布时间】:2016-10-10 19:29:45
【问题描述】:

当尝试使用 kubectl expose --type="loadBalancer" 公开负载均衡器时,尽管为 GCE 集群指定了所需的区域和区域(在本例中为 us-central),但 IP 默认为全局区域。因此,当我在 us-central 中有大量免费 IP 时,我遇到了 Global 的配额限制(IN_USE_ADDRESSES exceeded 错误)

如何指定我希望负载平衡器使用us-central1 范围内的 IP 地址。

此外,我找不到列出当前使用的全球 IP 地址以及哪些服务正在使用它们的方法。我只能看到我正在使用 Global 中所有可用的。

【问题讨论】:

    标签: kubernetes google-kubernetes-engine


    【解决方案1】:

    如果你只是公开,你会得到一个分配给你的转发规则的临时 ip,它显示在:

    gcloud 计算转发规则列表

    如果你想要一个静态ip,你可以在集群的同一区域分配一个:

    gcloud 计算地址创建 test-us-central --region us-central1

    并公开负载均衡器并为其提供该 ip:

    kubectl 公开 $RC-NAME --type=LoadBalancer --load-balancer-ip=$IP

    您不能使用类型=LoadBalancer 的服务在另一个区域分配 ip。含义:

    gcloud 计算转发规则创建 $NAME --address $ADDRESS --target-pool $TARGET-POOL --region $REGION

    $REGION 需要匹配 $TARGET-POOL 中的虚拟机所在的区域,并且 $ADDRESS 也必须来自该区域。

    如果您想使用来自另一个区域的 ip,您需要在该区域设置一个新集群,或者使用多区域联合集群(1.4 中的 alpha 版本)。请注意,您可以联合一个 多区域 集群,并且该集群存在于单个区域 (http://kubernetes.io/docs/admin/federation/) 中。

    【讨论】:

      【解决方案2】:

      看起来负载平衡器必须是全局的才能跨区域/区域进行通信。问题是在拆除集群时,负载均衡器似乎保留在云控制台的网络部分。您必须进入并单独删除它们,以防止创建越来越多的未使用的负载均衡器。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-09-15
        • 2019-09-10
        • 1970-01-01
        • 1970-01-01
        • 2023-03-08
        • 1970-01-01
        • 1970-01-01
        • 2022-01-14
        相关资源
        最近更新 更多