我不确定这是否是设置kubernetes的首选/正确方式,但我有两个网站“x.com”和“y.com”,每个网站都有自己独立的IP。目前,它们运行不同的ec2实例,但我正在将我们的架构转移到在aws上使用docker / kubernetes。我想做的是有一个nginx容器,可以将请求交给适当的后端服务。但是,我目前仍在努力弄清楚如何在同一个容器中指出两个IP。
我的k8s设置如下:
我有没有办法指定我想要两个IP指向单个nginx容器,还是有一种首选的k8s方法来解决这个问题?
答案 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