我有6个HTTP微服务.目前,他们运行疯狂的bash /自定义部署工具设置(dokku,mup).
我将它们停靠并转移到AWS上的kubernetes(使用kop进行设置).最后一块是转换我的nginx配置.
我想要
所有6个都有SSL终止(不在docker镜像中)
4需要websockets和客户端IP会话亲和力(Meteor,Socket.io)
5需要http-> https转发
1在http和https上提供相同的内容
我做了1. SSL终止将服务类型设置为LoadBalancer并使用AWS特定注释.这创建了AWS负载均衡器,但这似乎是其他要求的死胡同.
我看了Ingress,但是没看到如何在AWS上做到这一点.这个Ingress控制器是否可以在AWS上运行?
我需要在每个pod中使用nginx控制器吗? 这看起来很有趣,但我不确定它是近期/相关的.
我不确定从哪个方向入手.什么会起作用?
麦克风
您应该能够使用nginx入口控制器来完成此任务.
SSL终止
Websocket支持
基于HTTP> HTTPS
关闭http-> https重定向,如上面的链接所述
该自述引导您如何设置它,并有大量的例子.
完成这项工作所需的基本部分是:
一个默认的后台时,有没有匹配入口规则,将与404回应
在nginx的入口控制器将监控您的入口规则和重写/重载nginx.conf每当更改.
一个或多个入口规则,描述如何将流量路由到您的服务.
最终结果是您将拥有一个与您的nginx入口控制器服务相对应的ELB,后者又负责根据指定的入口规则路由到您的各个服务.