首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >库伯奈特斯PodDisruptionBudget,HorizontalPodAutoscaler和RollingUpdate相互作用?

库伯奈特斯PodDisruptionBudget,HorizontalPodAutoscaler和RollingUpdate相互作用?
EN

Stack Overflow用户
提问于 2019-02-27 10:00:18
回答 1查看 906关注 0票数 4

如果我有以下Kubernetes对象:

  • Deployment,将rollingUpdate.maxUnavailable设置为1
  • PodDisruptionBudget,将maxUnavailable设置为1
  • 允许自动缩放的HorizontalPodAutoscaler设置。
  • 启用群集自动缩放。

如果集群处于加载状态,并且处于扩展过程中,会发生什么情况:

  1. 在滚动更新的时候?新的Pod是否由于规模的增加而增加,使用Pod的新版本?
  2. 当节点需要重新启动或替换时?PodDisruptionBudget是否完全停止重新启动?在删除另一个节点之前,HorizontalPodAutoscaler会扩大节点的数量吗?
  3. Pod关联被设置为避免将来自同一个Deployment的两个Pod放在同一个节点上时。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-07 16:15:11

  1. 如在文档

由于应用程序滚动升级而被删除或不可用的Pods不包括中断预算,但是控制器(如部署和有状态集)在进行滚动升级时不受PDBs的限制--应用程序更新期间的故障处理是在控制器规范中配置的。

因此,它在一定程度上取决于控制器的配置和实现。我相信自动分配器添加的新豆荚将使用Pod的新版本,因为这是部署定义中的版本。

  1. 这取决于执行节点重新启动的方式。如果您刚刚切断电源,什么也做不了;)如果在关闭节点之前执行正确的drain,那么将考虑到PodDisruptionBudget,并且排水过程不会违反它。中断预算受到逐出API的尊重,但可能会被手动删除之类的低级别操作所违反。它更像是一种建议,一些API尊重,而不是由整体Kubernetes强制执行的强制限制。
  2. 根据正式文件,如果亲和力被设置为“软”关联,那么无论如何,豆荚将被调度在同一个节点上。如果“很难”,那么部署就会卡住,无法安排所需数量的吊舱。滚动更新仍然是可能的,但HPA将不能再增长豆荚池。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54902716

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档