跳到主要内容

云托管相关问题

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

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

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

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

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

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

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

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

了解Page Cache:

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