首页 文章

如何在Kubernetes上部署微服务Web应用程序?

提问于
浏览
0

我想使用Angular和微服务后端创建一个Web应用程序,提供一些REST API . 然后我想在Kubernetes上部署一切 .

让我们说应用程序将提供一些饮料(咖啡和茶) . 为了简化,我们假设应用程序是完全无状态的,我希望2有微服务 .

如果没有Kubernetes,我会这样做:

  • Coffea服务 - / api / coffea endpoints 的rest API

  • 茶具 - 用于/ api /茶叶 endpoints 的休息API

  • Nginx - 使用Angular应用程序(HTML / CSS / JS /图像等)和网关(代理/ api / coffea和/ api / tea endpoints )的静态内容

现在的问题是如何在Kubernetes中反映这一点?只需将所有内容部署在多个副本中,然后将Coffea和Tea服务作为NodePort公开并最终将Nginx公开为LoadBalancer就足够了吗?这是一种正确的方法吗?我应该使用Ingress而不是制作自己的nginx代理吗?如果是,那么如何使用Ingress Controller提供静态内容?

提前致谢!

1 回答

  • 1

    仅仅将所有内容部署在多个副本中,然后将Coffea和Tea服务作为NodePort公开并最终将Nginx公开为LoadBalancer是否足够?

    可能是的,只要使您的应用程序正常工作就足够了,但最好的方法是将您的服务与集群IP一起使用并由Ingress公开 . 因为Ingress适合路由,但它不适合提供静态内容,因此您只能将Nginx用作静态内容的Web服务器 . 您的应用看起来像隐藏在Ingress后面的3项服务:

    • 具有群集IP的Coffea服务

    • 具有群集IP的茶叶服务

    • Nginx服务,集群IP作为静态内容的Web服务器

    Here is一个很好的答案为什么最好使用Nginx作为静态内容的服务 .

相关问题