Actualizaciones automáticas

Las imágenes de Container-Optimized OS tienen la capacidad integrada para realizar actualizaciones automáticas a una versión más reciente cuando se lanzan. Después de habilitar esta función, permite que las instancias de usuario se mantengan al día con respecto a las correcciones de seguridad y las correcciones de errores.

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

Los usuarios que ejecutan cargas de trabajo de producción que son sensibles a las actualizaciones de kernel y que requieren calificación controlada y lanzamiento también deben inhabilitar las actualizaciones automáticas. Para obtener más información, consulta la sección Inhabilita actualizaciones automáticas.

Cómo habilitar o inhabilitar las actualizaciones automáticas

En el evento importante 117 y en versiones posteriores, la función de actualizaciones automáticas está inhabilitada de forma predeterminada en todas las imágenes de Container-Optimized OS. En eventos importantes anteriores a 117, la función está habilitada de forma predeterminada. Puedes habilitar o inhabilitar las actualizaciones automáticas si configuras los metadatos cos-update-strategy en instancias nuevas, existentes o en todas las instancias de un proyecto, como se describe en las siguientes secciones.

Configura las actualizaciones automáticas en una instancia nueva

Crea una instancia nueva con las actualizaciones automáticas habilitadas:

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

Crea una instancia nueva con las actualizaciones automáticas inhabilitadas:

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

Configura actualizaciones automáticas en una instancia existente

Habilita las actualizaciones automáticas para una instancia existente:

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

Inhabilita las actualizaciones automáticas para una instancia existente:

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

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

A partir del evento importante 97, puedes habilitar o inhabilitar las actualizaciones automáticas para todas las instancias de un proyecto con las marcas de metadatos en los metadatos del proyecto.

Habilita las actualizaciones para todas las instancias de un proyecto:

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

Inhabilita las actualizaciones para todas las instancias de un proyecto:

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

Diseño de actualización automática

Container-Optimized OS utiliza un esquema de partición raíz activo/pasivo. La imagen de SO se actualiza en su totalidad, incluido el kernel, a diferencia de las actualizaciones paquete por paquete, como en las distribuciones tradicionales de Linux. La imagen envía la característica de actualizaciones automáticas habilitadas Esto significa que una instancia predeterminada de Container-Optimized OS siempre descarga la última versión del SO y la instala en la partición pasiva poco después de su lanzamiento.

Si usas una imagen del hito de LTS o una familia de imágenes cos-stable, obtendrás una actualización de la versión más reciente del SO del mismo evento importante. En la familia de imágenes cos-dev y cos-beta, la actualización será la última versión 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 de forma activa para mejorar nuestra infraestructura de backend que permite las actualizaciones automáticas. Como parte de estos cambios, rotamos las claves que se usan para firmar y validar las cargas útiles de actualización. Sin embargo, las imágenes publicadas antes de la rotación de claves no se pueden actualizar de forma automática a las imágenes publicadas después de la rotación. La lista de imágenes afectada es la siguiente:

  • Estas imágenes no se pueden actualizar a las últimas versiones:

    • En el evento importante 77: imágenes anteriores a cos-77-12371-1000-0
    • En el evento importante 81: imágenes anteriores a cos-81-12871-1000-0
    • En el evento importante 85: imágenes anteriores al cos-85-13310-1000-0
    • En el evento importante 86: imágenes anteriores a cos-dev-86-15053-0-0
  • Estas imágenes ya no recibirán actualizaciones:

    • Todos los eventos importantes antes de 77, incluidos los eventos importantes previamente obsoletos.

Los usuarios que ejecuten Container-Optimized OS independiente con cualquiera de las versiones afectadas y tengan habilitada la función de actualización automática no verán que sus instancias se actualicen a versiones más recientes. En estos casos, los usuarios deben elegir de forma manual las versiones de SO más recientes. Para ello, deben volver a crear sus instancias de VM con la imagen más reciente. Las actualizaciones automáticas seguirán funcionando en todos los hitos admitidos para los nuevos lanzamientos.