Puedes usar Patch para aplicar parches de sistema operativo en un grupo de instancias de máquinas virtuales (VMs).
Sigue estos pasos para aplicar parches a las VM:
Antes de comenzar
- Revisa las cuotas de configuración del SO.
-
Si aún no lo hiciste, configura la autenticación.
La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API de Google Cloud.
Para ejecutar un código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine de la siguiente manera.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Puedes implementar y ejecutar trabajos de aplicación de parche solo para VMs en un único proyecto de Google Cloud. No puedes ejecutar trabajos de aplicación de parche en los proyectos de Google Cloud, incluso si las VMs están en una VPC compartida. Sin embargo, puedes ver los datos de cumplimiento de los parches en todos los proyectos.
- Se aplican las siguientes limitaciones cuando aplicas parches a las VMs que forman parte de un grupo de instancias administrado (MIG):
- Cuando un MIG repara una VM, vuelve a crearla según la plantilla de instancias. Esto podría revertir la VM a un estado sin parche.
- La aplicación de parches a las VMs puede generar resultados inesperados en un MIG que tiene habilitado el ajuste de escala automático. El escalador automático borra las VMs con parches cuando la carga disminuye y crea nuevas VMs, sin parches, mediante la plantilla de instancias de MIG cuando la carga aumenta. Por ejemplo, si el uso de CPU promedio es menor que el uso objetivo que especificaste para el ajuste de escala automático, MIG puede quitar algunas de las VMs con parches mientras se reduce la escala.
- Para todas las VM, configura VM Manager.
- Para las VM de Windows, Google recomienda inhabilitar las actualizaciones automáticas en ellas. Esto reduce los conflictos entre las actualizaciones automáticas de Windows y el servicio de aplicación de parches.
roles/osconfig.patchJobExecutor
contiene permisos para ejecutar, cancelar, obtener y enumerar trabajos de aplicación de parche. También se pueden ver los detalles de la instancia de un trabajo de aplicación de parche.roles/osconfig.patchJobViewer
contiene permisos de acceso de solo lectura para obtener y enumerar trabajos de aplicación de parches. También se pueden ver los detalles de la instancia de un trabajo de aplicación de parche.project-id
: El ID del proyectouser-id
: El nombre de usuario de Google Workspace.- En la consola de Google Cloud, ve a la página Compute Engine > VM Manager > Parche.
- Haz clic en Nueva implementación de parche.
En la sección VM de destino, elige la zona que contiene las VM a las que deseas aplicarles el parche. También puedes elegir todas las zonas.
Después de elegir las zonas, puedes filtrar aún más las VM dentro de esa zona.
Por ejemplo, para aplicar parches a VM específicas en las zonas que seleccionaste, ingresa el nombre y los filtros de etiqueta similares a los siguientes:
- Prefijo del nombre:
test-
- Etiquetas:
env=dev
yapp=web
- Prefijo del nombre:
En la sección Configuración del parche, completa estos datos:
- Especifica un Nombre para el parche.
- Elige las actualizaciones necesarias para el sistema operativo. Para obtener más información, consulta configuración de parches.
En la sección Programa, completa lo siguiente:
- Elige un programa. Para ejecutar el trabajo de aplicación de parche de inmediato, elige Comenzar ahora.
- Establece una duración o un período de mantenimiento (opcional).
En la sección Opciones de lanzamiento, configura las opciones de lanzamiento de parches:
- Elige si deseas aplicar parches en una zona por vez o en varias zonas de forma simultánea.
- Establece un presupuesto de interrupción. Un presupuesto de interrupción es la cantidad o el porcentaje de VM en la zona que deseas que el proceso de aplicación de parches interrumpa al mismo tiempo.
De manera opcional, puedes realizar las siguientes tareas en la sección Opciones avanzadas:
- Elige una opción de reinicio.
- Sube secuencias de comandos para antes y después de la aplicación del parche. Para obtener más información sobre las secuencias de comandos para antes y después de aplicar un parche, consulta esta sección.
Haz clic en Implementar.
- Nombre de la instancia:
instance-1
- Zona:
us-east1-b
Descripción:
patch for instance-1
Tendrías que ejecutar el siguiente comando:
- La aplicación del parche debe ejecutarse en todas las instancias del proyecto.
- El trabajo de aplicación del parche debe tener un tiempo de espera máximo de 1 hora y 30 minutos, luego de lo cual debe detenerse.
- Las máquinas deben reiniciarse según la configuración del sistema después de que se instalen las actualizaciones.
- En las VM que ejecutan Apt, la aplicación del parche se hace mediante
apt dist-upgrade
. - En las VM que ejecutan Windows, solo se aplican parches para la actualización
KB4339284
. - En las VM que ejecutan Yum, el parche se hace con la utilidad
yum update-minimal --security
. project-id
: ID del proyectoinstance-filter
: los parámetros de filtro que deseas; para obtener más información sobre los filtros de instancia, consulta esta sección.- Tienen las etiquetas
env=dev
yapp=web
. - Están en
asia-east1-b
oasia-east1-c
. - Llevan el prefijo
test-
. - La aplicación del parche debe ejecutarse en todas las instancias del proyecto.
- El trabajo de aplicación del parche debe tener un tiempo de espera máximo de 1 hora y 30 minutos, luego de lo cual debe detenerse. La API requiere que el tiempo se exprese en segundos, por lo que debes usar el valor 5400s.
- Las máquinas deben reiniciarse según la configuración del sistema después de que se instalen las actualizaciones.
- En las VM que ejecutan Apt, la aplicación del parche se hace mediante
apt dist-upgrade
. - En las VM que ejecutan Windows, solo se aplican parches para la actualización
KB4339284
. - En las VM que ejecutan Yum, el parche se hace con la utilidad
yum update-minimal --security
. Filtrar por nombre: Limita el trabajo de aplicación de parche a las instancias que tengan nombres específicos. Los nombres de instancia se deben especificar mediante el URI completo. Los formatos de URI admitidos son los siguientes:
zones/zone/instances/instance-name
projects/project-id/zones/zone/instances/instance-name
https://www.googleapis.com/compute/v1/projects/project-id/zones/zone/instances/instance-name
Filtrar por prefijo de nombre: Limita el trabajo de aplicación de parche a las instancias que lleven un prefijo específico en el nombre.
Filtrar por zona: Limita el trabajo de aplicación de parche a las instancias ubicadas en una zona específica.
Filtrar por etiqueta: Limita el trabajo de aplicación de parche a las instancias que tengan etiquetas específicas.
- Para Windows, especifica la clasificación de los parches que se aplicarán (p. ej.,
Security
yCritical
), o bien orienta KB específicos a fin de excluirlos. Para obtener más información sobre la clasificación de parches, consulta la documentación de asistencia de Microsoft. Para RHEL, Rocky Linux y CentOS, el sistema subyacente es
yum
.- Para los parches que se orientan a las VM de RHEL y Rocky Linux, puedes especificar paquetes
security
yminimal
. - Para las VM de CentOS, no hay metadatos
security
en el repositorioyum
de CentOS. Por lo tanto, no necesitas especificar la opciónsecurity
cuando actualizas los paquetes de seguridad. Si no especificas ningún paquete, el trabajo de aplicación de parches actualiza todos los paquetes, incluidos los que tienen actualizaciones de seguridad. - También puedes excluir paquetes específicos. Para obtener más información, consulta las páginas man de
yum
.
- Para los parches que se orientan a las VM de RHEL y Rocky Linux, puedes especificar paquetes
Para Debian y Ubuntu, el sistema subyacente es
apt
. Para los parches que se orientan a estas VM, puedes especificardist-upgrade
o una actualización estándar. También puedes excluir paquetes específicos. Para obtener más información, consulta las páginas de manual de Debian o las páginas de manual de Ubuntu.Para SuSE, el sistema subyacente es
zypper
, en particular cuando se usan parches Zipper. Para los parches que se orientan a estas VM, puedes especificar opciones como las siguientes:with update
: Actualiza todos los paquetes que no cubren los parches.with optional
: Los parches opcionales se tratan como necesarios.- Las categorías o la gravedad de los parches que se deben aplicar.
También puedes excluir parches específicos.
- Sigue los pasos descritos en la pestaña de la consola para crear un trabajo de aplicación de parche o una implementación de parche.
- En la sección Configuración del parche, elige los parámetros para tu trabajo de aplicación de parches.
- Realiza los ajustes de configuración adicionales que hagan falta para tu trabajo de aplicación de parche o implementación.
- Haz clic en Implementar.
- Predeterminado: el agente decide si es necesario el reinicio; para ello, verifica las señales conocidas en cada SO. Es posible que se produzcan varios reinicios durante la aplicación de parches y que se realicen antes de que se instale cualquier parche.
- Siempre: la máquina se reinicia después de que se completa la actualización.
- Nunca: la máquina no se reinicia después de que se completa la actualización. En algunos casos, esto puede significar que no todos los parches se aplican por completo.
- Las secuencias de comandos previas a la aplicación de parches se ejecutan antes de que comience el proceso. Si es necesario reiniciar el sistema antes de comenzar a instalar el parche, esta secuencia de comandos se ejecuta antes del reinicio.
- Las secuencias de comandos posteriores a la aplicación de parches se ejecutan una vez que finaliza el proceso. Si es necesario reiniciar el sistema como parte de la instalación del parche, esta secuencia de comandos se ejecuta después del reinicio.
- Sigue los pasos descritos en la pestaña de la consola para crear un trabajo de aplicación de parche o una implementación de parche.
- En la sección Opciones avanzadas, haz clic en Explorar para ver las secciones previa y posterior al parche. Aparecerá una página de objetos de Cloud Storage.
- En la página del objeto de Cloud Storage, elige el bucket que contiene la secuencia de comandos y elige el objeto o archivo de Cloud Storage.
- Realiza los ajustes de configuración adicionales que hagan falta para tu trabajo de aplicación de parche o implementación.
- Haz clic en Implementar.
- La operación de aplicación de parches falla cuando se aplican los parches.
- La operación de aplicación de parches falla cuando se ejecutan pasos previos o posteriores a la aplicación de parches.
- La operación de aplicación de parches no responde con una notificación de éxito antes de que se agote el tiempo de espera.
- Sigue los pasos descritos en la pestaña de la consola para crear un trabajo de aplicación de parche o una implementación de parche.
- En la sección Patch rollout options, configura las opciones de lanzamiento:
- Elige si deseas aplicar parches en una zona por vez o en varias zonas de forma simultánea.
- Establece el presupuesto de interrupción. Un presupuesto de interrupción es la cantidad o el porcentaje de VM en la zona que deseas que el proceso de aplicación de parches interrumpa al mismo tiempo.
- Realiza los ajustes de configuración adicionales que hagan falta para tu trabajo de aplicación de parche o implementación.
- Haz clic en Implementar.
- Aplicar parches a todas las VM de tu proyecto
- Aplicar parches a las VM zona por zona
- Garantizar que no se interrumpan más de 10 VM en la misma zona en un momento determinado
- Aplicar parches a todas las VM de tu proyecto
- Aplicar parches a zonas de forma simultánea
- Garantizar que no se interrumpa más del 50% de las VM en la misma zona en un momento determinado
- Aplicar parches a todas las VM en las zonas
us-central1-a
,us-central1-c
yus-central1-f
- Aplicar parches a zonas de forma simultánea
- Garantizar que no se interrumpa más del 25% de las instancias en la misma zona en un momento determinado
- En el menú Inicio de Windows, elige Configuración > Actualización y seguridad > Windows Update.
- En la sección Opciones avanzadas, activa Recibir actualizaciones de otros productos de Microsoft cuando actualices Windows.
Revisa los detalles de la instancia del trabajo de aplicación de parche afectado. Esto te ayuda a identificar qué instancias fallaron o en qué estado se encuentran. La lista de detalles de la instancia también contiene un breve mensaje de error para cada instancia.
Si un parche falla con el estado
NO_AGENT_DETECTED
oTIMED_OUT
, normalmente significa que el servicio envió una solicitud al agente para comenzar a aplicar el parche, pero el agente nunca respondió. Revisa las siguientes posibles causas y correcciones:- La instancia no se está ejecutando. Para solucionarlo, inicia la instancia de VM.
- Verifica la configuración mediante la lista de tareas de verificación.
- La configuración de red en la red de VPC o en la instancia no permitió que el agente de configuración del SO se comunicara con la API de configuración del SO. Para solucionar este problema, verifica la configuración de red.
Si los detalles de la instancia no proporcionan suficiente información, revisa los registros de Cloud Logging o la consola del puerto en serie. El agente de configuración del SO escribe sus entradas de registro en ambas ubicaciones. En Cloud Logging, puedes filtrar según el ID del trabajo de aplicación de parche para ver todas las entradas de registro relacionadas. También puedes habilitar el registro de depuración mediante la configuración del valor de metadatos
osconfig-log-level=debug
a nivel de la VM o de proyecto de Google Cloud.- Obtén más información sobre los parches.
- Administra los trabajos de parche.
- Programa trabajos de aplicación de parche.
REST
Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Si deseas obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud.
Limitaciones
Sistemas operativos compatibles
Para obtener una lista completa de los sistemas operativos y las versiones compatibles con los trabajos de aplicación de parches, consulta Detalles de los sistemas operativos.
Configura la VM.
Para usar la función de aplicación de parches, completa los siguientes pasos:
Permisos
Los propietarios de un proyecto de Google Cloud tienen acceso completo para ejecutar y administrar trabajos de aplicación de parches. Para el resto de los usuarios, debes otorgar permisos. Puedes otorgar una de las siguientes funciones detalladas:
Por ejemplo, a fin de otorgar a un usuario acceso para ejecutar trabajos de aplicación de parches, usa el siguiente comando:
gcloud projects add-iam-policy-binding project-id \ --member user:user-id@gmail.com \ --role roles/osconfig.patchJobExecutor
Reemplaza lo siguiente:
Ejecuta trabajos de aplicación de parches
Puedes ejecutar un trabajo de aplicación de parche con Google Cloud Console, la CLI de Google Cloud o REST.
Cuando ejecutas un trabajo de aplicación de parche, la aplicación de los parches a las VM se inicia simultáneamente en todas las instancias especificadas en el filtro.
Después de iniciar un trabajo de aplicación de parche, puedes supervisar los parches con el panel de aplicación de parches. Una vez que se inicia un trabajo de aplicación de parche, los datos demoran unos 30 minutos en propagarse al panel.
Console
gcloud
Usa el comando
os-config patch-jobs execute
para ejecutar un trabajo de aplicación de parche. Reemplazainstance-filter
con el filtro de instancia que desees. Para obtener más información sobre los filtros de instancia, consulta esta sección.gcloud compute os-config patch-jobs execute instance-filter
Para obtener más información sobre las actualizaciones que se aplican, consulta qué se incluye en un trabajo de aplicación de parche del SO. Para personalizar tus actualizaciones, usa las marcas opcionales.
Ejemplos
Ejemplo 1 Supón que quieres ejecutar un trabajo de aplicación de parche con la siguiente configuración:
gcloud compute os-config patch-jobs execute \ --instance-filter-names="zones/us-east1-b/instances/instance-1" \ --description "patch for instance-1"
Ejemplo 2 Supón que deseas ejecutar un trabajo de aplicación de parche de forma asíncrona con la siguiente configuración:
Tendrías que ejecutar el siguiente comando:
gcloud compute os-config patch-jobs execute \ --instance-filter-all \ --duration="1h30m" --reboot-config="DEFAULT" \ --apt-dist --windows-exclusive-patches=4339284 \ --yum-minimal --yum-security \ --async
REST
En la API, crea una solicitud
POST
para ejecutar un nuevo trabajo de aplicación de parche. Debes definir explícitamente todos los campos de configuración obligatorios como se describe en la documentación de la API depatchJobs.execute
.Para obtener más información sobre las actualizaciones que se aplican, consulta qué se incluye en un trabajo de aplicación de parche del SO. Para personalizar tus actualizaciones, usa los parámetros
PatchConfig
.Por ejemplo, un trabajo de aplicación de parche que solo tenga los campos obligatorios sería similar a esto:
POST https://osconfig.googleapis.com/v1/projects/project-id/patchJobs:execute { "instanceFilter": instance-filter }
Reemplaza lo siguiente:
Ejemplos
Ejemplo 1 Supongamos que deseas ejecutar un trabajo de aplicación de parche en una instancia llamada
instance1
ubicada enus-east1-b
. En este ejemplo, se agrega una descripción y se especifica que el trabajo se ejecute durante 1 hora y 30 minutos. Reemplazaproject-id
con el ID de tu proyecto.POST https://osconfig.googleapis.com/v1/projects/project-id/patchJobs:execute { "description":"patch instance1 in us-east1-b", "duration":"5400s", "instanceFilter":{ "instances":[ "zones/us-east1-b/instances/instance1" ] } }
Ejemplo 2 En el siguiente trabajo de aplicación de parche, se seleccionan las VM que tengan la siguiente configuración:
En el siguiente comando, reemplaza
project-id
por el ID de tu proyecto.POST https://osconfig.googleapis.com/v1/projects/project-id/patchJobs:execute { "instanceFilter":{ "groupLabels":[ { "labels":{ "env":"dev", "app":"web" } } ], "instanceNamePrefixes":[ "test-" ], "zones":[ "asia-east1-b", "asia-east1-c" ] } }
Ejemplo 3
Supongamos que deseas ejecutar un trabajo de aplicación de parche con la siguiente configuración:
Deberías crear la siguiente solicitud:
En el siguiente comando, reemplaza
project-id
por el ID de tu proyecto.POST https://osconfig.googleapis.com/v1/projects/project-id/patchJobs:execute { "duration":"5400s", "instanceFilter":{ "all":true }, "patchConfig":{ "rebootConfig":"DEFAULT", "apt":{ "type":"DIST" }, "yum":{ "security":true, "minimal":true }, "windowsUpdate":{ "exclusivePatches":"4339284" } } }
Filtros de instancia
Puedes usar filtros para especificar las instancias que deseas incluir en un trabajo de aplicación de parche. Se admiten los siguientes filtros para trabajos de aplicación de parche:
También puedes ejecutar trabajos de aplicación de parche en todas las instancias de un proyecto de Google Cloud si configuras el campo
all
deinstanceFilter
entrue
. Para obtener más información, consulta los ejemplos de filtros de instancia.Ejemplo de filtros de instancia
Situación Filtro de gcloud Filtro de API Todas las instancias de un proyecto de Google Cloud --instance-filter-all
{ "instanceFilter":{ "all":"true" } }
Una instancia con el nombre instance1
, ubicada en la zonaus-east1-b
--instance-filter-names="zones/us-east1-b/instances/instance1"
{ "instanceFilter":{ "instances":[ "zones/us-east1-b/instances/instance1" ] } }
Instancias que llevan el prefijo app-
--instance-filter-name-prefixes="app-"
{ "instanceFilter":{ "instanceNamePrefixes":[ "app-" ] } }
Instancias ubicadas en las zonas us-east1-b
ous-east1-c
--instance-filter-zones="us-east1-b","us-east1-c"
{ "instanceFilter":{ "zones":[ "us-east1-b", "us-east1-c" ] } }
Instancias con la combinación de etiquetas env=dev
yapp=web
, y también instancias conenv=dev
yapp=worker
.--instance-filter-group-labels="env=dev,app=web" --instance-filter-group-labels="env=dev,app=worker"
{ "instanceFilter":{ "groupLabels":[ { "labels":{ "env":"dev", "app":"web" } }, { "labels":{ "env":"dev", "app":"worker" } } ] } }
Combina filtros de instancia
Los filtros de instancia también se pueden combinar. Por ejemplo, a fin de ejecutar un trabajo de aplicación de parches para instancias que tienen el prefijo
test-
, están ubicadas en la zonaus-east1-c
y tienen las etiquetasenv=dev
yapp=web
, ejecuta el siguiente comando:gcloud compute os-config patch-jobs execute \ --instance-filter-name-prefixes="test-" \ --instance-filter-zones="us-east1-c" \ --instance-filter-group-labels="env=prod,app=web"
Configuración de parches
Cuando ejecutas un trabajo de aplicación de parches, puedes especificar parámetros para controlar los parches que se aplican en la VM. Los parámetros de configuración de parches dependen de la plataforma y, a menudo, se pasan a las herramientas de actualización del sistema subyacentes. Los parches reales provienen de los repositorios de paquetes (Linux) o del servidor de Windows Update (Windows) que está configurado en la VM.
Puedes especificar las siguientes opciones de configuración de parches para tus VM:
De forma opcional, para todos los sistemas operativos compatibles, puedes especificar la instalación de parches aprobados solo si especificas estas actualizaciones. Esto te permite ingresar una lista de parches o paquetes aprobados. Cuando seleccionas estos parches aprobados, solo se instalan los paquetes o parches aprobados. Todos los demás parámetros de configuración de parches se omiten durante la actualización.
Ejemplos
Console
gcloud
Por ejemplo, a fin de ejecutar un trabajo de aplicación de parches en todas las instancias de la zona
northamerica-northeast1-a
con opciones de configuración de parches específicas para diferentes sistemas operativos, ejecuta el comandogcloud compute os-config patch-jobs execute
:gcloud compute os-config patch-jobs execute \ --instance-filter-zones="northamerica-northeast1-a" \ --apt-dist \ --yum-security \ --yum-minimal \ --zypper-categories=security \ --windows-classifications=critical,security \ --reboot-config=default
Para obtener más información sobre las opciones compatibles, ejecuta el siguiente comando:
gcloud compute os-config patch-jobs execute --help
REST
Por ejemplo, a fin de ejecutar un trabajo de aplicación de parches en todas las instancias de la zona
northamerica-northeast1-a
con opciones de configuración de parches específicas para diferentes sistemas operativos, ejecuta el siguiente comando:POST https://osconfig.googleapis.com/v1/projects/project-id/patchJobs:execute { "instanceFilter":{ "zones":[ "northamerica-northeast1-a" ] }, "patchConfig":{ "apt": { "type": "dist-upgrade" }, "yum": { "security": true, "minimal": true }, "zypper": { "categories": ["security"] }, "windowsUpdate": { "classifications": ["CRITICAL", "SECURITY"] }, "rebootConfig": "DEFAULT" } }
Para obtener más información sobre los parámetros compatibles, consulta la documentación de
PatchConfig API
.Período de mantenimiento
Un período de mantenimiento es la cantidad total de tiempo que permites que se ejecute un trabajo de aplicación de parches. Los trabajos de aplicación de parches agotarán el tiempo de espera si no se completan dentro del período de mantenimiento especificado.
Por ejemplo, si configuras un período de mantenimiento de
60 minutes
, no se iniciarán nuevos trabajos de aplicación de parches 60 minutos después de la hora de inicio. Algunos procesos, como la descarga de un archivo o el reinicio, pueden producirse fuera de este período de mantenimiento. Sin embargo, no se iniciarán trabajo de aplicación de parches nuevos.Opciones de reinicio
Cuando ejecutas un trabajo de aplicación de parches, puedes especificar las opciones de reinicio del parche. Las siguientes opciones están disponibles:
Secuencias de comandos para antes y después de la aplicación de parches
Cuando ejecutas un trabajo de aplicación de parches, puedes especificar secuencias de comandos para que se ejecuten como parte del proceso. Estas secuencias de comandos son útiles para realizar tareas como cerrar una aplicación y realizar verificaciones de estado.
Cada trabajo de aplicación de parche puede tener una secuencia de comandos previa y una posterior para Linux y una secuencia de comandos previa y una posterior para Windows. Las secuencias de comandos de Linux y Windows deben proporcionarse mediante las marcas, los parámetros o las secciones correspondientes cuando se especifica desde Google Cloud CLI, REST o La consola de Google Cloud respectivamente. Las secuencias de comandos de Linux solo se ejecutan en las VM de Linux y las secuencias de comandos de Windows solo se ejecutan en las VM de Windows.
Estos archivos de secuencias de comandos se pueden almacenar en la VM o en un depósito de Cloud Storage con control de versiones. Si tu objeto de Cloud Storage no es de lectura pública, asegúrate de que la cuenta de servicio predeterminada de Compute Engine para el proyecto de Google Cloud tenga los permisos de IAM necesarios para leer objetos de Cloud Storage. Para asegurarte de contar con los permisos correctos, revisa la configuración de permisos del objeto de Cloud Storage.
Si quieres usar un depósito de Cloud Storage para almacenar tus secuencias de comandos, crea uno y sube tus secuencias de comandos allí.
Ejemplos
Console
gcloud
Por ejemplo, si quisieras ejecutar un trabajo de aplicación de parche en todas las instancias de la zona
northamerica-northeast1-a
con secuencias de comandos para antes y después de aplicar el parche en Linux y Windows, tendrías que ejecutar el siguiente comando:gcloud compute os-config patch-jobs execute \ --instance-filter-zones="northamerica-northeast1-a" \ --async \ --pre-patch-linux-executable="/tmp/pre_patch_script.sh" \ --post-patch-linux-executable="gs://my-patch-scripts/linux/post_patch_script#1523477886880" \ --pre-patch-windows-executable="C:\\Users\\user\\pre-patch-script.cmd" \ --post-patch-windows-executable="gs://my-patch-scripts/windows/post_patch_script.ps1#135920493447"
Para obtener más información sobre los formatos de archivo aceptables, ejecuta el siguiente comando:
gcloud compute os-config patch-jobs execute --help
REST
Por ejemplo, si quisieras ejecutar un trabajo de aplicación de parche en todas las instancias de la zona
northamerica-northeast1-a
con secuencias de comandos para antes y después de aplicar el parche en Linux y Windows, tendrías que ejecutar el siguiente comando:POST https://osconfig.googleapis.com/v1/projects/project-id/patchJobs:execute { "instanceFilter":{ "zones":[ "northamerica-northeast1-a" ] }, "patchConfig":{ "preStep":{ "linuxExecStepConfig":{ "localPath":"/tmp/pre_patch_script.sh" }, "windowsExecStepConfig":{ "interpreter":"SHELL", "localPath":"C:\\Users\\user\\pre-patch-script.cmd" } }, "postStep":{ "linuxExecStepConfig":{ "gcsObject":{ "bucket":"my-patch-scripts", "generationNumber":"1523477886880", "object":"linux/post_patch_script" } }, "windowsExecStepConfig":{ "gcsObject":{ "bucket":"my-patch-scripts", "generationNumber":"135920493447", "object":"windows/post_patch_script.ps1" }, "interpreter":"POWERSHELL" } } } }
Para obtener más información sobre los formatos de archivo aceptables, consulta la sección
ExecStepConfig
de la documentación de la API dePatchConfig
.Opciones de lanzamiento de parches
Puedes elegir aplicar parches a las VM de a una zona a la vez (zona por zona) o aplicar parches a todas las zonas a la vez (zonas simultáneas).
Además de realizar una selección para el lanzamiento de la zona, también puedes especificar un presupuesto de interrupción de zona para tus VM.
Presupuesto de interrupción de zona
Un presupuesto de interrupción es la cantidad máxima (o el porcentaje) de VM por zona que se interrumpen en un momento determinado.
¿Qué se considera una VM interrumpida?
Durante la aplicación de parches, se considera que una VM se interrumpe desde el momento en que el agente de configuración del SO recibe una notificación para comenzar hasta que se complete la aplicación de parches. El tiempo de interrupción incluye el tiempo para completar el reinicio y cualquier paso posterior a la aplicación del parche.
Una VM también se cuenta como parte del presupuesto de interrupción si cumple con alguna de las siguientes condiciones:
Cómo funcionan los presupuestos de interrupción
En los lanzamientos zona por zona, si se excede el presupuesto de interrupción en una zona, se detiene el trabajo de aplicación de parches. Esto sucede porque, para continuar a la siguiente zona, es necesario que se complete el proceso de aplicación de parches en la zona anterior.
Por ejemplo, si el presupuesto de interrupción tiene un valor de 10 y 8 VM no pueden aplicar parches en la zona actual, el trabajo de aplicación de parches continúa en 2 VM a la vez hasta que se completa la zona. Cuando esa zona se completa de forma correcta, la aplicación de parches comienza con 10 VM a la vez en la siguiente zona. Si no se aplican parches en las 10 VM de la siguiente zona, el trabajo de aplicación de parches se detiene.
Ejemplos
Console
gcloud
Ejemplo 1
En este ejemplo, se muestra el comando
os-config patch-jobs execute
para ejecutar un trabajo de aplicación de parches con las siguientes especificaciones:gcloud compute os-config patch-jobs execute \ --instance-filter-all \ --rollout-mode=zone-by-zone \ --rollout-disruption-budget=10
Ejemplo 2
En este ejemplo, se muestra el comando
os-config patch-jobs execute
para ejecutar un trabajo de aplicación de parches con las siguientes especificaciones:gcloud compute os-config patch-jobs execute \ --instance-filter-all \ --rollout-mode=concurrent-zones \ --rollout-disruption-budget-percent=50
REST
En este ejemplo, se muestra el método
patchJobs.execute
para ejecutar un trabajo de aplicación de parches con las siguientes especificaciones:POST https://osconfig.googleapis.com/v1/projects/project-id/patchJobs:execute { "instanceFilter":{ "zones":[ "us-central1-a", "us-central1-c", "us-central1-f" ] }, "rollout": { "disruptionBudget": { "percent": 25 }, "mode": "CONCURRENT_ZONES" } }
Para obtener más información sobre el lanzamiento de parches, consulta la documentación de la API de
PatchRollout
.Habilita la aplicación de parches de software de Microsoft en las VMs de Windows
Cuando ejecutas un trabajo de aplicación de parches en las VMs de Windows, de forma predeterminada, la plataforma solo aplica los parches para el sistema operativo Windows.
Puedes aplicar actualizaciones para el software de Microsoft, como Microsoft SQL Server, SharePoint Server o el marco de trabajo .NET que se ejecuta en tus VM de Windows cuando ejecutas un trabajo de aplicación de parches. De forma predeterminada, la aplicación de parches a estas aplicaciones está inhabilitada para evitar la interrupción del servicio y separar las actualizaciones planificadas de este software. Para habilitar la aplicación de parches del software de Microsoft de forma automática, puedes usar la IU de Windows o PowerShell.
IU de Windows
PowerShell
$service_manager = New-Object -ComObject 'Microsoft.Update.ServiceManager' $service_manager.AddService2("7971f918-a847-4430-9279-4a52d1efe18d",7,"")
Depura un trabajo de aplicación de parche
Si el trabajo de aplicación de parche falla, puedes seguir estos pasos para encontrar y resolver los problemas.
Próximos pasos
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2024-11-22 (UTC)
-