performance - 在 Kubernetes 中托管 pod
问题描述
我有一个 kubernetes 集群,它分布在 2 个区域 zone1 和 zone2 上。
我有 2 个应用程序 - 一个 Web 应用程序和一个数据库。Web 应用程序的配置存储在数据库中。应用程序和数据库都部署为有状态的应用程序。
这个想法是为 Web 应用程序(application-0 和 application-1)部署 2 个副本集,为数据库(database-0 和 database-1)部署 2 个副本。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 / 执行规则,除非您真的需要它们。
推荐阅读
- typescript - 打字稿:用其他类型的键定义类型
- c++ - 下标运算符内的递增索引
- java - 在 jpa 中使用 @query 选择第一条记录
- python - 从 '\\n' 到 '\n'
- android - 是否可以在通知中创建带有倒计时的 Flutter 通知?
- python - cv2.xfeatures2d.SIFT_create() 不工作
- excel - VLOOKUP 在之前找到值时返回 N/A
- cypress - 赛普拉斯:https 网站的无效证书问题
- java - 我的 javafx 程序中有一个空指针异常。我是否正确阅读文本?
- python - 如何使用 Python 修改 Discord webhook 的通道