在创建虚拟机期间在 Compute Engine 实例上部署容器的容器启动代理已被弃用。
本文档介绍了如何规划将您在创建虚拟机期间创建的容器迁移到其他 Trusted Cloud by S3NS 服务。
一般信息
- Compute Engine 中的容器启动代理是什么?
- 借助容器启动代理,您可以在创建虚拟机期间在 Compute Engine 实例或代管式实例组 (MIG) 中的实例上部署和配置容器,并启动 Docker 容器。
- 为何容器启动代理已弃用?
根据客户反馈, Trusted Cloud by S3NS 增强了容器部署选项。 我们已弃用容器启动代理,以便为您提供更灵活的容器部署选项。
如需详细了解已弃用的选项,请参阅用于在虚拟机上配置容器的已弃用选项。
- 此次弃用的关键时间节点是什么?如果我未在截止日期前采取行动,会怎么样?
自 2026 年 7 月 31 日起,任何依赖于容器启动代理或
gce-container-declaration
实例元数据的工作流都将停止运行。自 2027 年 7 月 31 日起,Google 将停止对容器启动代理提供支持,并且不会再为使用
gce-container-declaration
元数据的任何正在运行的虚拟机提供更新。您将自行承担运行工作负载的风险,这可能会影响您的工作流程。我们建议您在这些日期之前尽早将容器迁移到替代解决方案,以确保顺利过渡。
- 我何时将无法再使用
gce-container-declaration
元数据直接创建部署了容器的新虚拟机或 MIG? 自初始废弃通知发布之日起 12 个月,即 2026 年 7 月 31 日。
- 我何时将无法再在使用
gce-container-declaration
元数据的虚拟机或 MIG 上运行容器部署? 自首次弃用通知发布之日起 24 个月后(即 2027 年 7 月 31 日),我们将停止支持使用容器启动代理部署的任何工作负载。
- 我使用
cloud-init
在虚拟机上运行容器。Am I impacted by this change? 不会。此弃用不会影响使用
cloud-init
配置的虚拟机。您可以继续使用cloud-init
配置实例。如需了解详情,请参阅将 cloud-init 与 Cloud 配置搭配使用。- 如何判断我是否受到此次变更的影响?
如果您在创建虚拟机期间使用容器启动代理或通过指定
gce-container-declaration
在虚拟机上部署容器,则会受到此弃用的影响。如需验证您的项目中是否有任何实例受到影响,请运行以下 gcloud CLI 命令:gcloud compute instances list --filter="metadata.items.key:gce-container-declaration"
此命令会列出项目中包含
gce-container-declaration
元数据键的所有虚拟机实例。元数据键用于唯一标识在弃用范围内的虚拟机。如果您使用多个项目,请针对所有有效项目运行该命令。如需详细了解如何查看项目元数据,请参阅元数据文档。
如果您想检查特定实例,请运行以下 gcloud CLI 命令:
gcloud compute instances describe VM_NAME
将 VM_NAME 替换为虚拟机实例的名称。 此命令可提供指定实例的所有信息,包括元数据。如果您在命令输出中看到
gce-container-declaration
元数据键,则表示您的虚拟机受到此变更的影响。- 迁移期间,项目安全或隐私方面是否存在任何风险?
否。安全性和隐私权是 Google 所有业务的基础。 使用我们的脚本或托管解决方案时,您可以灵活地配置特定的安全和隐私设置,以满足您的需求。如需了解详情,请参阅迁移指南。
您可以从多种解决方案中进行选择
- Compute Engine 上有哪些推荐的容器替代解决方案?如何根据我的需求选择合适的解决方案?
您可以选择以下任一选项来迁移容器:
- 如果您想继续在虚拟机或 MIG 上部署容器,或者运行容器进行测试和开发,或者运行由单个虚拟机组成的工作负载,请使用启动脚本或 cloud-init。
- 如果您有无状态容器应用以及中小型作业,请考虑使用 Cloud Run。您还可以使用启动脚本。
- 如果您的容器是具有明确结束状态且需要额外计算资源的批量作业,请考虑使用 Batch。您还可以使用启动脚本。
- 如果您需要高级控制和可伸缩性,或者其他选项无法满足您的要求,请考虑使用 GKE。
如需详细了解迁移选项方面的指导和建议,请参阅迁移指南。
- 与使用启动脚本相比,我为何应考虑迁移到 Cloud Run、GKE 或 Batch 等代管式服务?
我们建议您考虑迁移到 Google Kubernetes Engine、Cloud Run 和 Batch 等容器解决方案。与基于虚拟机的传统部署相比,这些托管式服务具有显著优势,包括增强的可伸缩性、灵活性和高级管理功能。
主要优势包括:
- 减少管理开销:作为全代管式服务,Trusted Cloud可处理底层基础架构(虚拟机、修补、伸缩)。这种方法可节省宝贵的员工时间并减轻您的运营负担。
- 自动扩缩并确保弹性:这些服务会根据需求自动调整资源。与过度预配虚拟机相比,这种方法可以提高资源利用率并节省潜在成本。
- 实现空闲负载的成本效益:与即使在空闲时也会产生费用的虚拟机不同,对于流量波动或较低的应用,托管服务可能更具成本效益。
- 利用免费层:GKE、Cloud Run 和 Batch 均提供免费层,让您能够以可能零成本的方式运行较小的工作负载或进行测试。
如需详细的迁移指南,请参阅迁移指南。
- 每种替代解决方案的费用考虑因素是什么?它们与当前设置相比如何?
容器部署启动脚本或 cloud-init:使用启动脚本或
cloud-init
作为直接替代方案并不会从根本上改变您的 Compute Engine 费用。您仍需为底层虚拟机资源付费。托管式服务:迁移到 Cloud Run 或 Batch 等服务可以节省费用,尤其是对于使用量不稳定的应用。与即使在闲置时也会收费的虚拟机不同,这些代管式服务可能更高效。此外,免费层级还可以进一步降低小型临时工作负载的费用。
- 此弃用是否意味着 Container-Optimized OS 映像将被弃用,因此如果我们想在 Compute Engine 虚拟机上运行 Docker,就需要配置自己的虚拟机模板?
否,Container-Optimized OS 映像本身不会被弃用。此变更涉及使用 Container-Optimized OS 的虚拟机上容器的启动方式。较新的 Container-Optimized OS 版本将不再支持 konlet,后者是使用
gce-container-declaration
元数据键启动容器的启动代理。 这意味着 Container-Optimized OS 映像仍将可用并受支持。不过,您必须更新虚拟机,以使用启动脚本或cloud-init
配置来部署容器,而不是使用gce-container-declaration
元数据键。
迁移流程
- 将容器迁移到替代解决方案的推荐方法是什么?
我们建议您采取以下迁移步骤:
- 了解您的选项:查看迁移指南,了解运行容器的其他方式。
- 尽早规划迁移:为确保顺利完成过渡,请在 2026 年 7 月 31 日之前尽早开始规划当前容器部署的迁移。
- 为新工作负载做好准备:确保您的新容器工作负载在 2026 年 7 月 31 日之前准备好在替代解决方案上运行,因为届时将无法再直接将容器部署到虚拟机或 MIG。
- 最终迁移期限:请务必在 2027 年 7 月 31 日之前将所有现有的容器工作负载迁移到替代解决方案,届时直接部署方法将完全停用。
- 我是否必须迁移到推荐的解决方案之一,还是有其他替代方案可供使用?
我们支持您灵活地采用符合您的业务需求且受到积极支持的任何解决方案。我们提供迁移指南等资源,帮助您选择最合适的方案。
- 在迁移过程中是否需要备份或导出数据?
虽然执行数据备份或导出始终是确保数据安全和业务连续性的关键最佳实践,但对于此迁移过程而言,这不是必需的步骤。
- 迁移到替代方案需要多长时间?是否有可能会影响我所需时间的因素?
容器部署启动脚本:使用启动脚本进行初始设置和测试大约需要 1-2 小时。后续部署应只需几分钟时间。
托管式服务:选择Trusted Cloud by S3NS Cloud Run、Batch 或 GKE 等解决方案(这些解决方案是无服务器的全代管式 PaaS 产品)可能需要投入更多的时间和精力。这是因为从以虚拟机为中心 (IaaS) 的方法(您需要管理基础架构)到 PaaS 模型(平台会处理大部分此类事务)发生了根本性变化。这种适应可能需要更改您的应用(例如确保应用是无状态的),但从长远来看,可以大幅提高运营效率、可伸缩性和成本效益。
如需有关此过渡的指南,请参阅迁移指南。
- 如果我选择迁移到替代方案, Trusted Cloud by S3NS 项目、虚拟机、服务和应用是否会受到任何中断或停机影响?
一般来说,向推荐的替代解决方案过渡的过程旨在实现零停机。
对于 Compute Engine 虚拟机上长时间运行的容器的迁移,为避免中断,我们建议设置具有替代配置的新虚拟机,并在测试完成后切换流量。
- 此迁移对我的 Terraform 配置有何影响?
如果您使用 Terraform 或类似的自动化工具通过明确设置
gce-container-declaration
元数据键来创建或更新包含容器的虚拟机或 MIG,则您的工作流程将于 2026 年 7 月 31 日停止运行。为避免中断,您必须更新配置,以包含用于容器部署的启动脚本,并移除对gce-container-declaration
元数据键的依赖。如需详细了解如何实现此更改,请参阅迁移在创建虚拟机期间部署在虚拟机上的容器。
获取支持
- 如果我对迁移过程有疑问,应该与 Compute Engine 中的谁联系?
- 如果您有任何疑问或需要帮助,请与 Google Cloud 支持团队联系。
- 有哪些资源可帮助我进行迁移并提供技术指导?
- 本常见问题解答、迁移指南和 Google Cloud 支持团队可为您提供迁移过程方面的支持。