Ben*_*Ben 18 docker google-compute-engine kubernetes google-cloud-platform google-kubernetes-engine
我正在使用 Google Kubernetes Engine 部署一个网络应用程序,我想通过负载均衡器在我作为 Google Cloud Platform 中同一项目的一部分控制的现有静态 IP 地址上访问它,因为我想使用域名已经指向这个IP。
我用于 pod 的 yaml 文件是:
apiVersion: v1
kind: Pod
metadata:
name: my-pod
labels:
app: my-app
spec:
containers:
- name: my-container
image: gcr.io/my-project/my-app:latest
Run Code Online (Sandbox Code Playgroud)
我可以使用以下方法设置负载平衡器:
apiVersion: v1
kind: Service
metadata:
name: my-load-balancer
spec:
ports:
- port: 80
targetPort: 80
selector:
app: my-app
type: LoadBalancer
Run Code Online (Sandbox Code Playgroud)
这提供了一个可以访问应用程序的外部 IP,但我找不到任何方法来配置它以使用我想要的 IP。该服务的文件提到了spec.clusterIP设置,但这似乎并没有涉及到的外部IP。同样,一旦设置了负载均衡器,服务的 status.loadBalancer.ingress.ip 字段就会设置为其外部 IP 地址,但这似乎不是一个可配置的设置。
作为替代方案,我尝试在 Google Compute Engine 控制台中手动创建转发规则,将来自静态 IP 地址的流量定向到 Kubernetes 设置的目标池,但是当我尝试连接时,连接被拒绝。
有什么方法可以做我想做的事 - 在选定的静态 IP 地址上在 Google Kubernetes 引擎上公开 Kubernetes pod(或复制控制器)?
Wer*_*ght 10
TL;DR运行 Kubernetes v1.1 的谷歌容器引擎支持首先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 LoadBalancer,它将创建一个网络 Compute Engine > Network > Network load balance > Forwarding Rule 指向由集群上的机器组成的目标池(通常只有那些运行与服务选择器匹配的 Pod) . 看起来删除命名空间并不能很好地清理那些创建的规则。
它实际上现在得到支持(即使记录不足):
loadBalancerIP,等到您在运行时分配了外部 IP kubectl get svc,然后在该页面上的列表)。将其中之一标记为static,假设其External Address is 10.10.10.10。loadBalancerIP=10.10.10.10如上(适应,是由谷歌给你的IP)。现在,如果您删除 LoadBalancer 甚至您的命名空间,它应该在该集群上重新部署时保留该 IP 地址。如果您需要更改集群,应该可以进行一些手动操作:
cluster-pool或任何其他名称)http-cross-region-gfr或任何其他名称)loadbalancer-ip-crossregion您刚刚预留的cluster-pool您刚刚创建的小智 8
好消息。这将在 Kubernetes v1.1 中修复。您可以将该service.spec.loadBalancerIP字段设置为您知道自己拥有的 IP。
以前的:
这是一个从裂缝中消失的功能。它应该可以工作(甚至可能在某些时候工作过),但没有经过很好的测试并且在此过程中被破坏,然后意外地设计出来(暂时)。
它在我 1.0 之后要修复的短名单上。
https://github.com/GoogleCloudPlatform/kubernetes/issues/10323
| 归档时间: |
|
| 查看次数: |
18068 次 |
| 最近记录: |