kubernetes - GKE 1 负载均衡器,在不同分配的端口上有多个应用程序
问题描述
我希望能够部署多个单个 pod、应用程序并在单个 IP 地址上访问它们,这依赖于 Kubernetes,以便在您使用NodePort
服务时按原样分配端口。
有没有办法NodePort
与负载均衡器一起使用?
老实说,NodePort 可能自己工作,但 GKE 似乎阻止了对节点的直接访问。在他们的非托管虚拟机上似乎没有防火墙控制。
如果我们需要一些东西来作为答案,这里是一项服务。在这种情况下,我想部署 10 个这样的服务,它们是不同的应用程序,在同一个 IP 上,每个都可以在不同的端口上公开访问,每个代理 nginx 容器的端口 80。
---
apiVersion: v1
kind: Service
metadata:
name: foo-svc
spec:
selector:
app: nginx
ports:
- name: foo
protocol: TCP
port: 80
type: NodePort
解决方案
有没有办法将 NodePort 与负载均衡器一起使用?
Kubernetes LoadBalancer 类型的服务构建在 NodePort 之上。因此,LoadBalancer 在内部使用 NodePort,这意味着当创建 loadBalancer 类型的服务时,它会自动映射到 NodePort。尽管创建 NodePort 类型的服务并手动配置 Google 提供的负载均衡器以指向 NodePorts 很棘手,但可以。
推荐阅读
- flutter - Flutter 小部件测试:在测试中无法通过语义标签找到小部件,尽管它存在于转储中
- geometry - 使用 D3plus 算法查找位于给定多边形内的最大面积矩形
- python - 将旧的情节代码转换为新版本。我不知道/不明白怎么做
- java - 带有声纳的Java:降低方法的复杂性
- vba - VBA 如何在 OneDrive 上“释放空间”
- c# - 在 ToolStripMenuItem 上添加右键单击上下文菜单,而不关闭菜单
- java - Eclipse - 在调试模式下运行失败
- html - 用 Jest 测试 Angular 指令
- sql - 在使用 Prisma 的选择查询中使用 _count
- python - 在python中使用数组索引数组访问一维数组