负载平衡 – 如何为Kubernetes负载均衡器指定静态IP地址?

我有一个运行在Google Compute Engine上的Kubernetes集群,我想为我的外部服务(类型:LoadBalancer)分配静态IP地址.我不确定这是否是可能的.我在这个主题中找到了以下来源:

> Kubernetes Service Documentation允许您定义一个外部IP地址,但是它无法将对象解组成Go [] v1.LoadBalancerIngress的Go值
> publicIPs field似乎让我指定外部IP,但它似乎也不起作用
> This Github issue指出,我想要做的还不支持,但将在Kubernetes v1.1中
> clusterIP field还允许我指定一个IP地址,但失败,“提供的IP不在有效范围内”

我觉得静态IP的使用在设置Web服务时是非常重要的.我在这里遗漏了什么吗?如果有人可以在这里启发我,我将非常感激!

编辑:为了澄清:我没有使用Container Engine,我使用Compute Engine的官方安装说明我自己设置了一个集群.与我的k8s服务相关联的所有IP地址被标记为“短暂”,这意味着重新创建kubernetes服务可能导致不同的外部IP地址(这就是为什么我需要它们是静态的).

最佳答案
Kubernetes v1.1将进行一些修改.

首先,GCE中的所有负载平衡器将获得静态IP.这允许我们模拟GCE不支持的“更新”操作.

第二,https://github.com/kubernetes/kubernetes/pull/13005提出了一个明确设置负载平衡器的IP的新领域.

请注意,只要您的服务存在,您的“短暂”IP就是您的.这大体上类似于AWS用ELB名称(随机分配的,直到你释放它).

publicIP(或v1中的deprecatedPublicIPs)将被具有非常相似语义的externalIP替代.这些是“非管理”的IP – kubernetes将不会建立使用它们的负载平衡器,但它会接受它们的流量.

clusterIP是一个集群内地址,通常在集群或“项目”或VPC(GCE或AWS术语)之外不可用,

转载注明原文:负载平衡 – 如何为Kubernetes负载均衡器指定静态IP地址? - 代码日志