Rub*_*nst 28 google-compute-engine kubernetes google-cloud-platform
目前我正在做一个小型的爱好项目,一旦它准备好,我就会开源。此服务在 Google Container Engine 上运行。我选择 GCE 是为了避免配置麻烦,成本可以承受并学习新东西。
我的 pod 运行良好,我创建了一个类型LoadBalancer的服务来在端口 80 和 443 上公开服务。这完美地工作。
但是,我发现对于每个LoadBalancer服务,都会创建一个新的 Google Compute Engine 负载均衡器。这个负载均衡器非常昂贵,并且对于单个实例上的业余项目来说真的做得太过分了。
为了降低成本,我正在寻找一种无需负载平衡器即可公开端口的方法。
到目前为止我尝试过的:
部署NodePort服务。不幸的是,不允许公开低于 30000 的端口。
部署一个 Ingress,但这也会创建一个负载均衡器。
试图禁用HttpLoadBalancing(https://cloud.google.com/container-engine/reference/rest/v1/projects.zones.clusters#HttpLoadBalancing)但它仍然创建了一个负载平衡器。
有没有办法在没有负载均衡器的情况下为 Google Container Engine 上的单个实例公开端口 80 和 443?
Con*_*rJC 12
是的,通过服务上的 externalIP。我使用的示例服务:
apiVersion: v1
kind: Service
metadata:
name: bind
labels:
app: bind
version: 3.0.0
spec:
ports:
- port: 53
protocol: UDP
selector:
app: bind
version: 3.0.0
externalIPs:
- a.b.c.d
- a.b.c.e
Run Code Online (Sandbox Code Playgroud)
请注意,配置文件中列出的 IP 必须是 GCE 上的内部 IP。
| 归档时间: |
|
| 查看次数: |
6902 次 |
| 最近记录: |