kubernetes - 正好一个 Pod
问题描述
我正在部署 Thanos 监控系统及其组件之一,公制压实机,它警告说永远不应该有超过一台压实机同时运行。如果违反此约束,则可能会导致度量数据损坏。
除了“只设置replicas: 1
并且永不扩展”之外,还有什么方法可以通过 Deployment/StatefulSet/etc 编写“Exactly One” pod?我们将 Rancher 用作编排层,无需+
考虑即可轻松点击该按钮。
解决方案
小心部署,因为它们可以配置两种更新策略:
- RollingUpdate:添加新的 pod,同时终止旧的 pod。这意味着,根据
maxSurge
选项,如果您将副本设置为1
,您可能仍然最多拥有 2 个 pod。 - 重新创建:在创建任何新 pod 之前,所有先前的 pod 都已终止。
相反,Statefulsets 保证在任何给定时间不会有超过 1 个 pod 实例。
apiVersion: apps/v1beta1
kind: StatefulSet
spec:
replicas: 1
与 Deployment 不同的是,在前一个 Pod 终止之前,Pod 不会被替换。
推荐阅读
- python - 尽管显式强制转换 int,但初始化的 int 仍被 python 强制转换为列表
- python - 用 Python Selenium 选择一个文本框,改变框架
- java - 如何更改 H2 数据库的密码加密?
- c++ - 仅节省一半字节的优雅且最短的方法
- wordpress - 要求登录基于简码的插件
- lua - WoW Lua - 如何在 1.13 (Classic) 中获得法术等级
- node.js - 空白 cors 政策阻止我在 expressjs 中的请求
- android - 如何使用 rx-kotlin 实现强大的离线支持?
- html - How to stretch the background of the block to the full width of the screen?
- list - Mutable, indexed sequence for a large amount of integers in Scala?