云托管相关问题
部署新版本后,云托管旧版本实例为什么不会自动销毁?
创建新版本实例后,旧版本实例不能立即缩容,否则已有连接和新版本未成功启动前的流量都会报错。
如果线上存在多个版本,且均有流量,将不会自动缩容。
实例缩容需满足以下两个条件:
- 三十分钟无流量(最小副本数设置为0才生效)
- 下线延迟缩容(版本无流量)
需要注意的是:配置的最大副本数控制的是单个版本的pod,如果有多个版本存在,则:
最大pod数
= 配置的最大副本数
× 版本数
通过手动删除旧版本也可实现强制缩容。
从监控看CPU和内存使用率均未到达设置的扩容限制,云托管为什么会自动扩容?
监控中您可以看到CPU和内存使用率。但是监控中的内存使用率,并不包含Page Cache。 Page Cache中的数据是也是占用内存的,如使用率一直在设置值以上,将导致无法缩容。
了解Page Cache:
- 在Kubernetes中,Pod内存中的Cache通常是指应用程序使用的Page Cache。
- 当应用程序读取或写入文件时,Page Cache会缓存文件数据和元数据,以提高文件访问的性能。
- 如果Pod中的应用程序频繁读写大量的文件,Page Cache可能会占用大量的内存,导致Pod的内存使用率过高