放置与分配
必须选择哪台机器运行每个容器。手动选择时,该选择在做出当天是正确的,但当一台机器满负荷、新增一台机器或一台机器被排空时就会出错。任意选择时,它会把数据库副本及其自身的备用副本放在同一台机器上,而这种安排本应是不可能的。
平台如何解决此问题
Section titled “平台如何解决此问题”放置决策基于描述,在每次调度时,对所有人应用相同的规则。
你说明什么重要,而不是放在哪里。 一个部署可以倾向于带有特定标签的节点,避开带有其他标签的节点,优先选择某个区域,或者——在有正当理由时——直接指定一个节点。可接受的形式在部署参考](/docs/zh/reference/manifest/deployment/#placement)中。
该块编译成调度器可读的形式。 你编写的偏好会被转换成评分器一直读取的相同标签约束,因此首要块和旧式手写标签是同一机制,而非两种机制。编写相同约束的两种形式会被拒绝,而不是被静默解决:平台不会自行决定你两个答案中你指的是哪一个。
租户的部署仅放置在该租户的节点上。 放置永远不会跨越多租户和隔离中描述的隔离边界。
一个放置约束是硬性过滤而非偏好:数据驻留。 要求特定国家或地区的部署只会放置在满足该条件的位置,否则将保持未放置状态。它的作用以及——同样重要的——它的限制,请参阅数据驻留]。
放置是关于容量的建议,而非预留。 资源请求影响选择;它们不会预先预留内存。在运行时限制容器的是其 limits,这些 limits 是塑造容器的一部分——更改它们,容器就会被替换。
Not this
本页不介绍如何标记节点或如何排空节点;这些是运维操作,而非部署的属性。
它也不包含评分权重或每个字段的可接受值。字段及其规则会生成到参考文档中。
