在Google容器引擎上的同一Kubernetes集群的端口80上运行多个服务
我可以在Google容器引擎上Kubernetes的80端口上运行多个服务吗?每个服务都有一个专用的外部IP地址,因此理论上路由器应该能够根据其IP地址路由到每个服务 到目前为止,我已经为集装箱引擎上的“前端1”和“前端2”创建了吊舱。我试图为它们创建单独的服务,它们都运行在端口80上,具有唯一的外部IP,但没有成功。在Kubernetes中是否有其他方法可以实现这一点而不使用自定义路由服务 服务-1.yaml:在Google容器引擎上的同一Kubernetes集群的端口80上运行多个服务,kubernetes,google-kubernetes-engine,Kubernetes,Google Kubernetes Engine,我可以在Google容器引擎上Kubernetes的80端口上运行多个服务吗?每个服务都有一个专用的外部IP地址,因此理论上路由器应该能够根据其IP地址路由到每个服务 到目前为止,我已经为集装箱引擎上的“前端1”和“前端2”创建了吊舱。我试图为它们创建单独的服务,它们都运行在端口80上,具有唯一的外部IP,但没有成功。在Kubernetes中是否有其他方法可以实现这一点而不使用自定义路由服务 服务-1.yaml: id: service-1 port: 80 containerPort: 808
id: service-1
port: 80
containerPort: 8080
selector:
name: frontend-1
createExternalLoadBalancer: true
服务-2.yaml:
id: service-2
port: 80
containerPort: 8081
selector:
name: frontend-2
createExternalLoadBalancer: true
到今天为止,GKE依赖于Kubernetes 0.4.x,它在每个节点上为每个服务分配端口。使用此配置,您不能让多个服务侦听端口80
Kubernetes 0.5.x引入了一种新的网络模型,它为每个服务映射一个单独的IP。因此,一旦GKE升级,您将能够在不同的IP/端口上公开多个服务。Kubernetes 1.1具有
入口
类型,允许您将不同的dns名称/IP路由到不同的服务。从
是的,多个服务可以有相同的端口,因为这无关紧要,因为每个服务都有自己的IP地址。在google kubernetes控制台中运行
kubectl get svc
这将列出所有服务,并且可以通过在浏览器中使用相应的端口号复制来检查外部IP 这个问题是在Kubernetes为0.4时提出的,从那时起发生了很大变化。它在Kubernetes 1.x领域中不相关,我认为应该删除它。
kubectl get svc