Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Google容器引擎上的同一Kubernetes集群的端口80上运行多个服务_Kubernetes_Google Kubernetes Engine - Fatal编程技术网

在Google容器引擎上的同一Kubernetes集群的端口80上运行多个服务

在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

我可以在Google容器引擎上Kubernetes的80端口上运行多个服务吗?每个服务都有一个专用的外部IP地址,因此理论上路由器应该能够根据其IP地址路由到每个服务

到目前为止,我已经为集装箱引擎上的“前端1”和“前端2”创建了吊舱。我试图为它们创建单独的服务,它们都运行在端口80上,具有唯一的外部IP,但没有成功。在Kubernetes中是否有其他方法可以实现这一点而不使用自定义路由服务

服务-1.yaml:

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