健康检查可以根据特定的 http 请求探测我的实例并确定它是否不健康。
从文档中我了解到,自动修复仅适用于托管实例组,这意味着不健康的实例将不会重新启动,而是关闭,并从模板创建另一个实例。因此,这意味着磁盘上的全状态数据将丢失。
有没有办法从健康检查中触发实例重启而不使用模板(因此只需重新启动并保留磁盘数据)。
答案1
为了与托管实例组一起使用自动缩放或自动修复,您的虚拟机需要是无状态的,如下所述:
将托管实例组用于无状态应用程序
托管实例组旨在支持不依赖于底层虚拟机实例的特定状态而运行的无状态应用。这允许使用自动扩缩和自动修复等功能,其中托管实例组可以自动删除和重新创建实例。
您需要做一些研究来使您的应用程序无状态。例如,如果您的虚拟机上有 MySQL 数据库,您可以将其迁移到CloudSQL。对于磁盘上的其他数据,您可以考虑使用以下方法进行备份Google 云端存储或举办GCE 上的文件服务器。