单个容器的多个IP

时间:2016-05-31 23:15:49

标签: amazon-web-services kubernetes

我不确定这是否是设置kubernetes的首选/正确方式,但我有两个网站“x.com”和“y.com”,每个网站都有自己独立的IP。目前,它们运行不同的ec2实例,但我正在将我们的架构转移到在aws上使用docker / kubernetes。我想做的是有一个nginx容器,可以将请求交给适当的后端服务。但是,我目前仍在努力弄清楚如何在同一个容器中指出两个IP。

我的k8s设置如下:

  • x.com的复制控制器/ pod
  • y.com的复制控制器/ pod
  • x.com服务
  • y.com服务
  • nginx的复制控制器,指定单个副本
  • nginx服务,指定我需要端口80和443。

我有没有办法指定我想要两个IP指向单个nginx容器,还是有一种首选的k8s方法来解决这个问题?

2 个答案:

答案 0 :(得分:0)

您可以使用入口路由:

另外,为了不使用入口,您可以设置服务类型LoadBalancer,然后创建与您要路由的域匹配的ELB的CNAME。

答案 1 :(得分:0)

我最终使用了两个独立的服务/负载均衡器,这些服务/负载均衡器指向同一个nginx pod但使用不同的端口。

apiVersion: v1
kind: Service
metadata: 
    name: nginx-service1
spec:
    type: LoadBalancer
    ports:
    - name: http
      port: 80
      targetPort: 880
      protocol: TCP
    - name: https
      port: 443
      targetPort: 8443
      protocol: TCP
    selector:
        app: nginx
---
apiVersion: v1
kind: Service
metadata: 
    name: nginx-service2
spec:
    type: LoadBalancer
    ports:
    - name: http
      port: 80
      targetPort: 980
      protocol: TCP
    - name: https
      port: 443
      targetPort: 9443
      protocol: TCP
    selector:
        app: nginx