首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Google Container Engine的同一Kubernetes集群的80端口上运行多个服务

在Google Container Engine的同一Kubernetes集群的80端口上运行多个服务
EN

Stack Overflow用户
提问于 2014-12-05 00:22:54
回答 3查看 9.5K关注 0票数 14

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

到目前为止,我已经为Container Engine上的"frontend-1“和"frontend-2”创建了pod。我试图为它们创建单独的服务,它们都运行在端口80上,具有唯一的外部it,但不起作用。在Kubernetes中,有没有其他方法可以在不使用自定义路由服务的情况下实现这一点?

service-1.yaml:

代码语言:javascript
复制
id: service-1
port: 80
containerPort: 8080
selector:
  name: frontend-1
createExternalLoadBalancer: true

service-2.yaml:

代码语言:javascript
复制
id: service-2
port: 80
containerPort: 8081
selector:
  name: frontend-2
createExternalLoadBalancer: true
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-12-05 03:13:09

到目前为止,GKE依赖于Kubernetes 0.4.x,它为每个服务分配每个节点上的端口。使用这种配置,您不能让多个服务监听端口80。

Kubernetes 0.5.x引入了一个新的网络模型,它为每个服务映射一个单独的IP。因此,一旦GKE升级,您将能够在不同的IP/端口上公开多个服务。

票数 4
EN

Stack Overflow用户

发布于 2015-12-04 01:41:22

Kubernetes1.1具有Ingress类型,允许您将不同的dns名称/ips路由到不同的服务。来自github

代码语言:javascript
复制
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: test
spec:
  rules:
  - host: foo.bar.com
    http:
      paths:
      - backend:
          serviceName: s1
          servicePort: 80
  - host: bar.foo.com
    http:
      paths:
      - backend:
          serviceName: s2
          servicePort: 80
票数 17
EN

Stack Overflow用户

发布于 2019-01-31 23:50:09

是的,多个服务可以有相同的端口,因为这并不重要,因为每个服务都有自己的IP地址。在google kubernetes控制台中运行

代码语言:javascript
复制
kubectl get svc

这将列出所有服务和外部IP,可以通过在浏览器中将其复制到相应的端口号来检查。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27298921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档