Actualizaciones automáticas

Las imágenes de Container-Optimized OS tienen la capacidad integrada de actualizarse automáticamente a una versión más reciente cuando se lanza. Si se habilita esta función, las instancias de usuario se mantendrán actualizadas en cuanto a correcciones de seguridad y de errores.

Cuando se usa Container-Optimized OS como parte de un servicio gestionado (por ejemplo, Google Kubernetes Engine o Cloud SQL), el servicio gestionado se encarga de actualizar la instancia de Container-Optimized OS para los usuarios. Por lo tanto, las actualizaciones automáticas están inhabilitadas de forma predeterminada en esos dispositivos.

Los usuarios que ejecuten cargas de trabajo de producción sensibles a las actualizaciones del kernel y que requieran una cualificación y un lanzamiento controlados también deben inhabilitar las actualizaciones automáticas. Para obtener más información, consulta la sección Inhabilitar las actualizaciones automáticas.

Habilitar o inhabilitar las actualizaciones automáticas

En la versión 117 y posteriores, la función de actualizaciones automáticas está inhabilitada de forma predeterminada en todas las imágenes de Container-Optimized OS. En las versiones anteriores a la 117, la función está habilitada de forma predeterminada. Puede habilitar o inhabilitar las actualizaciones automáticas definiendo los metadatos cos-update-strategy en las instancias nuevas, las instancias ya creadas o todas las instancias de un proyecto, tal como se describe en las secciones siguientes.

Configurar las actualizaciones automáticas en una instancia nueva

Crea una instancia con las actualizaciones automáticas habilitadas:

gcloud compute instances create INSTANCE_NAME \
   --metadata cos-update-strategy=update_enabled

Para crear una instancia con las actualizaciones automáticas inhabilitadas, sigue estos pasos:

gcloud compute instances create INSTANCE_NAME \
   --metadata cos-update-strategy=update_disabled

Configurar las actualizaciones automáticas en una instancia

Para habilitar las actualizaciones automáticas en una instancia, siga estos pasos:

gcloud compute instances add-metadata INSTANCE_NAME \
   --metadata cos-update-strategy=update_enabled

Para inhabilitar las actualizaciones automáticas en una instancia, sigue estos pasos:

gcloud compute instances add-metadata INSTANCE_NAME \
   --metadata cos-update-strategy=update_disabled

Configurar las actualizaciones automáticas en todas las instancias de un proyecto

A partir de la versión 97, puedes habilitar o inhabilitar las actualizaciones automáticas de todas las instancias de un proyecto mediante marcas de metadatos en los metadatos del proyecto.

Habilitar las actualizaciones de todas las instancias de un proyecto:

gcloud compute project-info add-metadata \
   --metadata cos-update-strategy=update_enabled

Inhabilitar las actualizaciones de todas las instancias de un proyecto:

gcloud compute project-info add-metadata \
   --metadata cos-update-strategy=update_disabled

Diseño de actualizaciones automáticas

Container-Optimized OS usa un esquema de partición raíz activo-pasivo. La imagen del SO se actualiza por completo, incluido el kernel, a diferencia de las actualizaciones paquete a paquete de las distribuciones de Linux tradicionales. La imagen se envía con la función de actualizaciones automáticas habilitada, lo que significa que una instancia predeterminada de Container-Optimized OS siempre descarga la versión más reciente del SO y la instala en la partición pasiva poco después de que se publique.

Si usas una imagen de hito de LTS o de la familia de imágenes cos-stable, recibirás una actualización a la versión del SO más reciente del mismo hito. En las familias de imágenes cos-dev y cos-beta, la actualización será la versión más reciente del SO de la familia de imágenes correspondiente.

Cambios en el comportamiento de las actualizaciones automáticas

El equipo de Container-Optimized OS está trabajando activamente para mejorar nuestra infraestructura backend, que hace posibles las actualizaciones automáticas. Como parte de estos cambios, vamos a rotar las claves que se usan para firmar y validar las cargas útiles de las actualizaciones. Sin embargo, las imágenes publicadas antes de la rotación de claves no se pueden actualizar automáticamente a imágenes publicadas después de la rotación. La lista de imágenes afectadas es la siguiente:

  • Estas imágenes no se pueden actualizar a las versiones más recientes:

    • En la versión 77: imágenes anteriores a cos-77-12371-1000-0
    • En la versión 81: imágenes anteriores a cos-81-12871-1000-0
    • En la versión 85: imágenes anteriores a cos-85-13310-1000-0
    • En la versión 86: imágenes anteriores a cos-dev-86-15053-0-0
  • Estas imágenes ya no recibirán ninguna actualización:

    • Todos los hitos anteriores a 77, incluidos los hitos obsoletos.

Los usuarios que ejecuten Container-Optimized OS independiente con cualquiera de las versiones afectadas y que tengan habilitada la función de actualización automática no verán cómo se actualizan sus instancias a versiones más recientes. En estos casos, los usuarios deben elegir manualmente versiones más recientes del SO recreando sus instancias de VM con la imagen más reciente. Las actualizaciones automáticas seguirán funcionando en todos los hitos admitidos de las nuevas versiones.