【发布时间】:2017-04-06 08:47:01
【问题描述】:
我有 6 个 HTTP 微服务。目前,它们在疯狂的 bash/自定义部署工具设置(dokku、mup)中运行。
我将它们 docker 化并移至 AWS 上的 kubernetes(使用 kop 设置)。最后一部分是转换我的 nginx 配置。
我愿意
- 所有 6 个都具有 SSL 终止(不在 docker 映像中)
- 4 需要 websockets 和客户端 IP 会话亲和性(Meteor、Socket.io)
- 5需要http->https转发
- 1 在 http 和 https 上提供相同的内容
我做了 1. SSL 终止将服务类型设置为 LoadBalancer 和 using AWS specific annotations。这创建了 AWS 负载均衡器,但这看起来像 dead end for the other requirements。
我查看了 Ingress,但不知道如何在 AWS 上执行此操作。这个Ingress Controller 可以在 AWS 上工作吗?
每个 pod 中都需要一个 nginx 控制器吗? This 看起来很有趣,但我不确定它有多新/相关。
我不确定从哪个方向开始。什么会起作用?
迈克
【问题讨论】:
-
为什么不使用 nginx k8s 服务来充当其他服务的网关?然后为 http/websockets 配置 SSL/重定向?
-
@iamnat 我知道你的意思,但不知道该怎么做。如何在没有硬编码的情况下将服务信息放入 nginx 配置中?例子?
-
硬编码是指不添加k8s svc dns标签?或者您是否可以在
nginx.conf中使用proxy_pass my-service.default:8080之类的规则?
标签: amazon-web-services ssl nginx kubernetes