Mar*_*ina 25 load-balancing google-compute-engine kubernetes
我有一个在Google Compute Engine上运行的Kubernetes集群,我想为我的外部服务(type: LoadBalancer
)分配静态IP地址.我不确定此刻是否可行.我在该主题上找到了以下来源:
我觉得在设置Web服务时使用静态IP非常重要.我在这里错过了什么吗?如果有人能在这里开导我,我将非常感激!
编辑:澄清:我没有使用Container Engine,我自己使用Compute Engine的官方安装说明设置了一个集群.与我的k8s服务相关联的所有IP地址都标记为"临时",这意味着重新创建kubernetes服务可能会导致不同的外部IP地址(这就是我需要它们为静态的原因).
Wer*_*ght 45
TL; DR运行Kubernetes v1.1的 Google容器引擎只支持loadBalancerIP
将自动分配的IP标记为静态.
Kubernetes v1.1支持externalIPs:
apiVersion: v1
kind: Service
spec:
type: LoadBalancer
loadBalancerIP: 10.10.10.10
...
Run Code Online (Sandbox Code Playgroud)
到目前为止,还没有关于如何在GCE上使用它的非常好的一致文档.可以肯定的是,此IP必须首先是您预先分配的静态 IP之一.
在跨区域负载均衡文档主要是为计算引擎,而不是Kubernetes /集装箱引擎,但它仍然是有用的,尤其在部分"配置负载平衡服务".
如果你只是在GCE创建Kubernetes负载平衡器,它会创建一个网络计算引擎>网络>网络负载均衡>转发规则指向您的集群上了你的机器的目标池(通常只有那些运行服务选择相匹配的荚) .看起来删除命名空间并不能很好地清理那些创建的规则.
实际上现在支持它(即使记录在案):
loadBalancerIP
,等到运行时分配外部IP kubectl get svc
,然后在该页面的列表中查找该IP,并将其从Ephemeral更改为Static.loadBalancerIP=10.10.10.10
上述功能(适应Google提供给您的IP).现在,如果您删除负载平衡器,甚至你的命名空间,它会保留这一组在重新reploying该IP地址.
另请参阅Kubernetes文章,其中介绍了如何在Kubernetes上为单个或多个域设置静态IP.
Tim*_*kin 13
Kubernetes v1.1将进行一些更改.
首先,GCE中的所有负载均衡器都将获得静态IP.这允许我们模拟GCE不支持的"更新"操作.
其次,https://github.com/kubernetes/kubernetes/pull/13005提出了一个新字段来明确设置负载均衡器的IP.
请注意,只要您的服务存在,您的"短暂"IP就属于您.这大致类似于AWS对ELB名称的作用(随机分配,直到您发布它).
publicIPs(或v1中的deprecatedPublicIPs)将被替换为具有非常相似语义的externalIPs.这些是"非托管"IP - kubernetes不会使用它们建立负载均衡器,但它会接受它们的流量.
clusterIP是群集内地址,通常在群集或"项目"或VPC之外(在GCE或AWS术语中)不可用
归档时间: |
|
查看次数: |
21893 次 |
最近记录: |