performance - 在 Kubernetes 中并置 pod

标签 performance kubernetes kubernetes-pod affinity

  • 我有一个 kubernetes 集群,分布在 2 个区域 - zone1 和 zone2。

  • 我有 2 个应用程序 - 一个 Web 应用程序和一个数据库。 Web 应用程序的配置存储在数据库中。应用程序和数据库都部署为有状态应用程序。

  • 这个想法是为 Web 应用程序部署 2 个副本集(application-0 和 application-1),为数据库部署 2 个副本集(database-0 和 database-1)。 application-0 指向database-0,application-1 指向database-1。

  • Pod 反关联性已启用。因此,application-0 和 application-1 最好不要位于同一区域。另外,database-0 和database-1 不会位于同一区域。

  • 我想确保 application-0 和 database-0 位于同一区域。 application-1 和database-1 位于另一个区域。这样 Web 应用程序的性能就不会受到影响。这可能吗?

最佳答案

如果您想严格分离两个区域的工作负载 - 我建议使用 nodeSelector在节点的区域上。

使用 Pod 亲和性也可以得到类似的结果,但它更复杂,并且要获得您所描述的清晰分割。您需要使用 requiredDuringScheduling/执行规则,除非您确实需要它们,否则通常最好避免使用它们。

关于performance - 在 Kubernetes 中并置 pod,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59007236/

相关文章:

kubernetes - 广告连播优先级和优先级

kubernetes - 如何在负载均衡期间检查哪个 Kubernetes pod 正在响应?

kubernetes - kubernetes中如何将多个节点合并为一个大节点

database - 如何针对重复的全表排序优化 oracle 查询?

c++ - end() 可以是 STL 容器的 coSTLy 操作

mysql - MySql 上的大 ibdata1 文件会影响数据库性能吗?

kubernetes - 我的 GKE 集群的主可用区有多高?

kubernetes - GKE 上的 GRPC 负载平衡(L7、HTTP/2 + TLS)

c++ - SSE 复制、AVX 复制和 std::copy 性能

kubernetes - 如何避免对属于 K8s 服务的 pod 进行并行请求?