跳到主要内容

云托管相关问题

部署新版本后,云托管旧版本实例为什么不会自动销毁?

创建新版本实例后,旧版本实例不能立即缩容,否则已有连接和新版本未成功启动前的流量都会报错。
如果线上存在多个版本,且均有流量,将不会自动缩容。

实例缩容需满足以下两个条件:

  • 三十分钟无流量(最小副本数设置为0才生效)
  • 下线延迟缩容(版本无流量)

需要注意的是:配置的最大副本数控制的是单个版本的pod,如果有多个版本存在,则:
最大pod数 = 配置的最大副本数 × 版本数

通过手动删除旧版本也可实现强制缩容。

从监控看CPU和内存使用率均未到达设置的扩容限制,云托管为什么会自动扩容?

监控中您可以看到CPU和内存使用率。但是监控中的内存使用率,并不包含Page Cache。 Page Cache中的数据是也是占用内存的,如使用率一直在设置值以上,将导致无法缩容。

了解Page Cache:

  • 在Kubernetes中,Pod内存中的Cache通常是指应用程序使用的Page Cache。
  • 当应用程序读取或写入文件时,Page Cache会缓存文件数据和元数据,以提高文件访问的性能。
  • 如果Pod中的应用程序频繁读写大量的文件,Page Cache可能会占用大量的内存,导致Pod的内存使用率过高

相似问题

  • 部署新版本后云托管旧版本实例为何不自动销毁?
  • 云托管旧版本实例满足什么条件才会缩容?
  • 云托管自动扩容的原因是什么?
  • Page Cache 对云托管内存使用率有何影响?
  • 如何手动实现云托管旧版本的强制缩容?
  • 云托管中最大副本数如何计算?
  • 云托管监控的内存使用率为什么不准确?
  • 怎样避免云托管不必要的自动扩容?
  • 云托管中 Page Cache 是什么?
  • 云托管多版本时副本数如何控制?