【发布时间】:2018-09-22 09:59:30
【问题描述】:
我想使用 Angular 和微服务后端创建一个 Web 应用程序,为一些 REST API 提供服务。然后我想把所有东西都部署在 Kubernetes 上。
假设应用程序将提供一些饮料(咖啡和茶)。为了简化,我们假设应用程序是完全无状态的,我希望 2 拥有微服务。
如果没有 Kubernetes,我会这样做:
Coffea 服务 - /api/coffea 端点的 REST API
Tea 服务 - /api/tea 端点的 REST API
Nginx - 带有 Angular 应用程序(HTML/CSS/JS/图像等)和网关(/api/coffea 和 /api/tea 端点的代理)的静态内容
现在的问题是如何在 Kubernetes 中体现这一点?将所有内容部署在多个副本中,然后将 Coffea 和 Tea 服务公开为 NodePort,最后将 Nginx 公开为 LoadBalancer 是否足够?这是一个正确的方法吗?我应该使用 Ingress 而不是制作自己的 nginx 代理吗?如果是,那么如何使用 Ingress Controller 提供静态内容?
提前致谢!
【问题讨论】:
标签: web-applications kubernetes microservices kubernetes-ingress