Kubernetes:多个Pod还是多个部署?

5

我正在使用 Kubernetes 部署一个简单的应用程序。它由以下组件组成:

  • 一个 RabbitMQ 实例
  • 一个无状态的 HTTP 服务器
  • 一个从消息队列获取任务并处理它们的 worker

我希望能够独立地对 HTTP 服务器和 worker 进行水平扩展和缩减。是创建包含一个用于 HTTP 服务器和一个用于 worker 的 pod 的单个部署,还是分别为 HTTP 服务器 / worker 创建单独的部署更合适呢?

1个回答

4
您应该选择不同的部署方式来部署HTTP服务器和工作线程,原因如下:
  • 它们的扩展特性是不同的,在同一部署中放置它们没有意义。
  • 您将进行扩展的参数也将不同。对于HTTP服务器,可能是RPS;对于工作应用程序,则是待处理/待处理状态的项目数。您可以创建HPA并根据最适合它们的不同参数进行扩展。
  • 您想要收集和测量每个指标和日志也会有所不同,将它们分开是有意义的。
我认为单一职责原则也很适用,如果你把它们放在同一个pod/部署中,它们就会混杂在一起,这并没有必要。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接