本文档针对您在更新 Compute Engine 虚拟机实例时可能会遇到的常见问题提供了解决方案。如需有关如何更新虚拟机的一般说明,请参阅更新实例属性。
最佳做法
为避免更新虚拟机时出现常见问题,请遵循以下最佳实践:
使用
update-from-file
工作流:将实例配置导出到文件,修改该文件,然后使用gcloud compute instances update-from-file
命令应用更改。这种方法有助于防止手动命令出错。使用
most-disruptive-allowed-action
标志:此标志可防止意外重启。将其设置为NO_EFFECT
可测试您的更改,设置为REFRESH
可进行非中断性更新,仅当您确定可以接受重启时才设置为RESTART
。
常见问题
本部分列出了在更新虚拟机时可能会遇到的错误,并提供了有关如何解决这些错误的指南。
元数据指纹不匹配
当您尝试更新虚拟机实例,但自上次刷新页面或提取实例数据以来,虚拟机的元数据已被其他进程更新时,会发生此错误。
错误消息:
Supplied fingerprint does not match current metadata fingerprint
解决方法:
请求中的实例指纹属性必须与实例的当前指纹一致,以防止同时发出的更新请求彼此覆盖。请尝试以下操作:
刷新页面:如果您使用的是 Google Cloud 控制台,请先刷新虚拟机实例的详细信息页面,然后再进行更改。
使用
--no-etag-cache
Google Cloud CLI 标志:如果您使用的是 Google Cloud CLI,请在gcloud compute instances update
命令中使用--no-etag-cache
标志。等待几分钟后重试:作为最后的手段,请尝试停止虚拟机,等待几分钟,然后再次尝试进行更改。