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

标签 kubernetes

我正在使用 kubernetes 部署一个简单的应用程序。碎片是:

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

  • 我希望能够相互独立地向上和向下扩展 HTTP 服务器和工作程序。对我来说,创建一个包含一个用于 HTTP 服务器和一个用于工作人员的 pod 的部署,还是为 HTTP 服务器/工作人员创建单独的部署更合适?

    最佳答案

    您绝对应该为 HTTP Server 和 worker 选择不同的部署。出于以下原因:

  • 您的缩放特性对它们来说都是不同的。将它们放在同一个部署中是没有意义的
  • 您将缩放的参数也会有所不同。对于 HTTP 服务器,它可能是 RPS,而对于工作应用程序,它将是待处理/待处理状态的项目数。您可以创建 HPA 并针对最适合它们的不同参数缩放它们
  • 您要为每个指标收集和测量的指标和日志将再次不同,将它们分开是有意义的。

  • 我认为单一职责原则也很适合,如果你保持在同一个 pod/deployment 中,就会不必要地混淆。

    关于Kubernetes:多个 Pod 还是多个部署?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50692448/

    相关文章:

    Kubernetes Pod N :M scheduling how-to

    kubernetes - hyperkube 不从/etc/kubernetes/manifests 启动任何 list

    kubernetes - 从 Argo 导出 Kubernetes 日志

    kubernetes - 简单入门 Istio Helm 安装

    kubernetes - 如何强行删除 kubernetes 集群中的 daemonset 或 pod

    docker - 2个端口,用于1个Ingres/服务/statefulsets/pod

    kubernetes - 即使在 Kubernetes 中使用 "x509: certificate signed by unknown authority"选项,也会得到 "--insecure-skip-tls-verify"

    kubernetes - 如何在 values.yaml 中引用命名空间?

    kubernetes - 如何在 Kubernetes 中回收 Pod

    kubernetes - 分离字典列表