Stay organized with collections Save and categorize content based on your preferences.
The container startup agent that deploys containers on Compute Engine instances during VM creation is deprecated.
This document describes how to plan the migration of containers that you created during VM creation to other Google Cloud services.
General informationBased on customer feedback, Google Cloud enhances container deployment options. We have deprecated the container startup agent to enable us to provide you with more flexible options for deploying your containers.
For more information about the options that are deprecated, see Deprecated options for configuring containers on VMs.
Starting July 31, 2026, any workflows that rely on the container startup agent or the gce-container-declaration
instance metadata will stop working.
Starting July 31, 2027, Google will discontinue support for the container startup agent and no further updates will be provided for any running VMs that use the gce-container-declaration
metadata. You will be running the workloads at your own risk and it can affect your workflow.
We recommend that you migrate containers to alternative solutions well before these dates to ensure a smooth transition.
gce-container-declaration
metadata?
12 months from the initial deprecation notification, which is July 31, 2026.
gce-container-declaration
metadata?
We will stop supporting any workloads deployed using container startup agent 24 months from the initial deprecation notification, which is July 31, 2027.
cloud-init
to run containers on VMs. Am I impacted by this change?
No. This deprecation does not impact VMs that are configured using cloud-init
. You can continue to use cloud-init
for configuring instances. For more information, see Using cloud-init with Cloud config.
If you are deploying a container on a VM during VM creation using the container startup agent or by specifying the gce-container-declaration
, you are impacted by this deprecation. To validate if there are any instances impacted in your project, run the following gcloud CLI command:
gcloud compute instances list --filter="metadata.items.key:gce-container-declaration"
This command provides a list of all VM instances in your project that contain the gce-container-declaration
metadata key. The metadata key uniquely identifies VMs that are in scope of the deprecation. If you are using multiple projects, then run the command across all of the active projects.
For more information about viewing project metadata, see metadata documentation.
If you have a specific instance that you want to check, then run the following gcloud CLI command:
gcloud compute instances describe VM_NAME
Replace VM_NAME with the name of the VM instance. This command provides all the information for a given instance, including the metadata. If you see the gce-container-declaration
metadata key in the command output, then your VM is impacted by this change.
No. Security and privacy are foundational to everything we do at Google. When using our scripts or managed solutions, you have the flexibility to configure specific security and privacy settings to meet your requirements. For more information, see the migration guide.
You can choose one of the following options to migrate your container:
For detailed guidance and recommendations on migration options, read the migration guide.
We recommend that you consider migrating to container solutions such as Google Kubernetes Engine, Cloud Run, and Batch. These managed services offer significant advantages over conventional VM-based deployments, including enhanced scalability, flexibility, and advanced management capabilities.
Key benefits include the following:
For detailed guidance on migration, see the migration guide.
Container deployment startup scripts or cloud-init: Using startup scripts or cloud-init
as a direct replacement does not inherently change your Compute Engine costs. You still pay for the underlying VM resources.
Managed services: Moving to services such as Cloud Run or Batch can offer cost savings, especially for applications with variable usage. Unlike VMs that charge even when idle, these managed services can be more efficient. Additionally, free tiers can further reduce costs for smaller, temporary workloads.
For more information, see Compare the container deployment options. Pricing varies based on the chosen service and your specific configuration. Use the pricing calculator for an accurate estimate.
No, Container-Optimized OS images themselves are not being deprecated. The change is about how containers start on VMs using Container-Optimized OS. Newer Container-Optimized OS versions will no longer support konlet, which is the startup agent that starts containers using the gce-container-declaration
metadata key. This means Container-Optimized OS images will still be available and supported. However, you must update your VM to use a startup script or cloud-init
configuration to deploy containers instead of using the gce-container-declaration
metadata key.
We recommend that you take the following steps toward your migration:
We support your flexibility to adopt any solution that aligns with your business needs and is actively supported. Resources such as the migration guide are available to help you choose the most suitable option.
While performing a data backup or export is always a critical best practice for data safety and business continuity, it is not a necessary step for this migration process.
Container deployment startup script: Initial setup and testing using startup scripts should take around 1-2 hours. Subsequent deployments should only take a few minutes each.
Managed services: Opting for Google Cloud solutions such as Cloud Run, Batch, or GKE, which are serverless and fully managed PaaS offerings, might involve a greater upfront investment of time and effort. This is due to the fundamental change from a VM-centric (IaaS) approach where you manage the infrastructure, to a PaaS model where the platform handles much of this. This adaptation may necessitate changes to your application, such as ensuring it's stateless, but the long-term benefits can include substantial gains in operational efficiency, scalability, and cost-effectiveness.
For guidance on this transition, see the migration guide.
Generally, the transition to the recommended alternative solution is designed to be a zero-downtime process.
For migration of long-running containers on Compute Engine VMs, in order to avoid disruptions, we recommend setting up new VMs with the alternative configuration and switching over the traffic once they are tested.
If you are using Terraform or similar automation to create or update VMs or MIGs with containers by explicitly setting the gce-container-declaration
metadata key, your workflow will stop working on July 31st, 2026. To avoid disruption, you must update your configuration to include a startup script for container deployment and remove the dependency on the gce-container-declaration
metadata key. For detailed instructions on how to implement this change, see Migrate containers that were deployed on VMs during VM creation.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-07 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[],[]]
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4