- 工作负载的命名空间不是排除列表的一部分:
- 如果提供排除列表,它将用于代替默认值(仅包括kube-system ) 。
- 工作负载的标签与标签列表不匹配 。
- 工作负载的名称不是排除列表的一部分 。
- 工作负载未标记为排除(注释 downscaler/exclude: "true" 或 downscaler/exclude-until: "2024-04-05") 。
- 没有活动 Pod 强制整个集群进入正常运行时间(注释 downscaler/force-uptime: "true" ) 。
Ex: downscaler/downtime-replicas: "1" 。
Specific workload特定工作负载在正常的情况下 HorizontalPodAutoscalers ,该字段不能设置为零, 因此downscaler/downtime-replicas 至少 1 应设置为。关于 CronJobs , 它们的状态将按照我们的预期进行定义 suspend: true 。
注意点请注意 , 默认的宽限期为 15 分钟适用于新的 Nginx 部署,即
- 如果当前时间不在,它不会立即缩小 Mon-Fri 9-17 (Buenos Aires timezone) , 而是在 15 分钟后缩小 。downscaler最终会记录如下内容:
INFO: Scaling down Deployment default/nginx from 1 to 0 replicas (uptime: Mon-Fri 09:00-17:00 America/Buenos_Aires, downtime: never)请注意,如果 HorizontalPodAutoscaler (HPA) 与部署一起使用,请考虑以下事项:- 如果需要缩减到 0 个副本,则应在 上 Deployment 应用注释 。这是一种特殊情况,因为 minReplicas 不允许在 HPA 上为 0 。将部署副本设置为 0 实质上会禁用 HPA 。在这种情况下,HPA 将发出事件,例如 failed to get memory utilization: unable to get metrics for resource memory: no metrics returned from resource metrics API 没有 Pod 可以从中检索指标 。
- 如果需要缩小大于 0,则应在 HPA 上应用注释 。这允许在停机期间根据外部流量动态扩展 Pod,并在停机期间保持较低的 minReplicas 流量 , 如果没有低流量 。如果对部署而不是 HPA 进行批注 , 则会导致争用条件 , 即缩减部署 , kube-downscaler HPA 在部署更高时 minReplicas 将其升级 。
$ kubectl annotate deploy nginx 'downscaler/exclude=true'$ kubectl annotate hpa nginx 'downscaler/downtime-replicas=1'$ kubectl annotate hpa nginx 'downscaler/uptime=Mon-Fri 09:00-17:00 America/Buenos_Aires'详细配置Uptime/downtime specdownscaler通过命令行参数、环境变量或 Kubernetes 注释进行配置 。时间定义(例如 DEFAULT_UPTIME )接受以逗号分隔的规范列表,例如,以下配置将缩小非工作时间的所有部署:
DEFAULT_UPTIME="Mon-Fri 07:30-20:30 Europe/Berlin"仅在周末和周五 20:00 后缩?。?DEFAULT_DOWNTIME="Sat-Sun 00:00-24:00 CET,Fri-Fri 20:00-24:00 CET'每个时间规范可以采用以下两种格式之一:- 重复规范格式 <WEEKDAY-FROM>-<WEEKDAY-TO-INCLUSIVE> <HH>:<MM>-<HH>:<MM> <TIMEZONE> .时区值可以是任何时区,例如“US/Eastern”、“PST”或“UTC” 。
- 绝对规范格式 , <TIME_FROM>-<TIME_TO> 其中每个 <TIME> 格式都是ISO 8601日期和时间的格式 <YYYY>-<MM>-<DD>T<HH>:<MM>:<SS>[+-]<TZHH>:<TZMM> 。
推荐阅读
- 使用 k3sup 一分钟快速搭建 K3s 集群
- Linux上使用Docker实现应用程序打包和分发
- Rust 编译为WebAssembly 在前端项目中使用
- 如何使用 Python 和 python-docx 库读取、写入和操作 Word 文件
- 如何使用GPT作为SQL查询引擎的自然语言
- 火山石的作用及使用方法详解 火山石的作用
- 怎样使用支付宝花呗 怎样使用支付宝
- 这几款水乳特别适合油皮、痘肌使用,有效消灭闭口小痘痘效果好
- 油漆喷枪使用 油漆喷枪的注意事项
- cdr里怎么创建剪切蒙版,cdr中的剪切蒙版要怎么样使用
