Puede utilizar Patch para aplicar parches del sistema operativo en un grupo de instancias de máquinas virtuales (VM).
Para aplicar parches a sus máquinas virtuales, complete los siguientes pasos:
Antes de comenzar
- Revise las cuotas de configuración del sistema operativo .
- Si aún no lo has hecho, configura la autenticación. La autenticación es el proceso mediante el cual se verifica su identidad para acceder a Google Cloud servicios y API. Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:
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
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
- Puedes implementar y ejecutar trabajos de parches solo para máquinas virtuales en un único proyecto de Google Cloud. No puede ejecutar trabajos de parche en proyectos de Google Cloud, incluso si las máquinas virtuales están en una VPC compartida. Sin embargo, puede ver los datos de cumplimiento de parches en todos los proyectos .
- De forma predeterminada, VM Manager no aplica parches a ninguna máquina virtual que forme parte de un grupo de instancias administrado (MIG). La aplicación de parches a estas máquinas virtuales se informa como errores en el trabajo de parche. Puede anular este comportamiento predeterminado cuando crea el trabajo de parche. Se aplican las siguientes limitaciones al parchear máquinas virtuales que forman parte de un MIG:
- Cuando un MIG repara una VM , la recrea según la plantilla de instancia. Esto podría revertir la máquina virtual a un estado sin parches.
- La aplicación de parches a las máquinas virtuales puede provocar resultados inesperados en un MIG que tiene habilitado el escalado automático. Autoscaler elimina las máquinas virtuales parcheadas cuando la carga disminuye y crea nuevas máquinas virtuales, sin ningún parche, utilizando la plantilla de instancia de MIG cuando la carga aumenta. Por ejemplo, si el uso promedio de la CPU es menor que el uso objetivo que especificó para el escalado automático, MIG puede eliminar algunas de las máquinas virtuales parcheadas durante el escalado horizontal.
- Para todas las máquinas virtuales, configure VM Manager .
- Para las máquinas virtuales de Windows, Google recomienda deshabilitar las actualizaciones automáticas en las máquinas virtuales. Esto reduce los conflictos entre las actualizaciones automáticas de Windows y el servicio de parches.
-
roles/osconfig.patchJobExecutor
: contiene permisos para ejecutar, cancelar, obtener y enumerar trabajos de parche. También contiene permisos para ver los detalles de la instancia de un trabajo de parche. -
roles/osconfig.patchJobViewer
: contiene permisos de acceso de solo lectura para obtener y enumerar trabajos de parche. También contiene permisos para ver los detalles de la instancia de un trabajo de parche. -
project-id
: el ID del proyecto. -
user-id
: el nombre de usuario de Google Workspace del usuario. - En la consola de Google Cloud, vaya a la página Compute Engine > VM Manager > Parche .
- Haga clic en Implementación de nueva revisión .
En la sección Máquinas virtuales de destino , seleccione la zona que contiene las máquinas virtuales a las que desea aplicar parches. También puede optar por seleccionar todas las zonas.
Después de seleccionar las zonas, puede filtrar aún más las máquinas virtuales dentro de esa zona.
Por ejemplo, para parchear máquinas virtuales específicas en las zonas que seleccionó, ingrese el nombre y los filtros de etiqueta similares a los siguientes:
- Prefijo de nombre:
test-
- Etiquetas:
env=dev
yapp=web
- Prefijo de nombre:
En la sección Configuración de parches , configure el parche.
- Especifique un nombre para su parche.
- Seleccione las actualizaciones requeridas para su sistema operativo. Para obtener más información, consulte configuración de parches .
En la sección Programación , complete lo siguiente:
- Seleccione un horario. Para ejecutar el trabajo de parche inmediatamente, seleccione Iniciar ahora .
- Opcional: establezca una duración o ventana de mantenimiento .
En la sección Opciones de implementación , configure las opciones de implementación del parche :
- Seleccione si desea parchear una zona a la vez o parchear zonas simultáneamente.
- Establezca un presupuesto para disrupciones. Un presupuesto de interrupción es la cantidad o porcentaje de máquinas virtuales en una zona que desea que se interrumpan al mismo tiempo mediante el proceso de aplicación de parches.
Opcional: en la sección Opciones avanzadas , puede completar las siguientes tareas:
- Seleccione una opción de reinicio .
- Cargue scripts previos y posteriores al parche. Para obtener más información sobre los scripts previos y posteriores al parche, consulte Especificación de scripts previos y posteriores al parche .
Haga clic en Implementar .
- Nombre de instancia:
instance-1
- Zona:
us-east1-b
Descripción:
patch for instance-1
Ejecutarías el siguiente comando:
- El parche debe ejecutarse en todas las instancias del proyecto.
- El trabajo de parche debe expirar y detenerse después de 1 hora y 30 minutos.
- Las máquinas deben reiniciarse según la configuración del sistema después de instalar las actualizaciones.
- En las máquinas virtuales que ejecutan Apt, la aplicación de parches se realiza mediante
apt dist-upgrade
. - En máquinas virtuales que ejecutan Windows, aplique solo parches para la actualización
KB4339284
. - En las máquinas virtuales que ejecutan Yum, los parches se realizan utilizando la utilidad
yum update-minimal --security
. -
project-id
: el ID de su proyecto. -
instance-filter
: los parámetros de filtro que desea. Para obtener más información sobre los filtros de instancia, consulte filtros de instancia . - Tener etiquetas
env=dev
yapp=web
. - Están en
asia-east1-b
oasia-east1-c
. - Haga que el prefijo
test-
. - El parche debe ejecutarse en todas las instancias del proyecto.
- El trabajo de parche debe expirar y detenerse después de 1 hora y 30 minutos. La API requiere que el tiempo se exprese en segundos, así que configúrelo como 5400.
- Las máquinas deben reiniciarse según la configuración del sistema después de instalar las actualizaciones.
- En las máquinas virtuales que ejecutan Apt, la aplicación de parches se realiza mediante
apt dist-upgrade
. - En máquinas virtuales que ejecutan Windows, aplique solo parches para la actualización
KB4339284
. - En las máquinas virtuales que ejecutan Yum, los parches se realizan utilizando la utilidad
yum update-minimal --security
. Filtrar por nombre: limite el trabajo de parche a instancias con nombres específicos. Los nombres de las instancias se deben especificar utilizando el URI completo. Los formatos de URI admitidos incluyen 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: limite el trabajo de parche a instancias con un prefijo específico en su nombre.
Filtrar por zona: limite el trabajo de parche a instancias en una zona específica.
Filtrar por etiqueta: limite el trabajo de parche a instancias con etiquetas específicas.
- Para Windows, usted especifica la clasificación de los parches que se aplicarán (por ejemplo,
Security
yCritical
) o se dirige a KB específicos para excluir. Para obtener más información sobre la clasificación de parches, consulte la documentación de soporte de Microsoft . Para RHEL, Rocky Linux y CentOS, el sistema subyacente es
yum
.- Para los parches dirigidos a máquinas virtuales RHEL y Rocky Linux, puede especificar
security
y paquetesminimal
. - Para las máquinas virtuales CentOS, no hay metadatos
security
en el repositorioyum
de CentOS. Por lo tanto, no es necesario especificar la opciónsecurity
al actualizar los paquetes de seguridad. Si no especifica ningún paquete, el trabajo de parche actualiza todos los paquetes, incluidos aquellos con actualizaciones de seguridad. - También puede excluir paquetes específicos. Para obtener más información, consulte las páginas del manual
yum
.
- Para los parches dirigidos a máquinas virtuales RHEL y Rocky Linux, puede especificar
Para Debian y Ubuntu, el sistema subyacente es
apt
. Para los parches dirigidos a estas máquinas virtuales, puede especificardist-upgrade
o una actualización estándar. También puede excluir paquetes específicos. Para obtener más información, consulte las páginas man de Debian o las páginas man de Ubuntu .Para SuSE, el sistema subyacente es
zypper
, específicamente usando parches zypper . Para los parches dirigidos a estas máquinas virtuales, puede especificar opciones como:-
with update
: actualiza todos los paquetes no cubiertos por parches -
with optional
: los parches opcionales se tratan según sea necesario - Las categorías o severidades de los parches a aplicar.
También puede excluir parches específicos.
-
- Siga los pasos descritos en la pestaña de la consola para crear un trabajo de parche o una implementación de parche .
- En la sección Configuración de parches , seleccione los parámetros para su trabajo de parche.
- Realice las configuraciones adicionales que sean necesarias para su trabajo de parche o implementación.
- Haga clic en Implementar .
- Valor predeterminado: el agente decide si es necesario reiniciar comprobando señales conocidas en cada sistema operativo. Es posible que se produzcan varios reinicios durante la aplicación de parches y pueden ocurrir antes de que se instalen los parches.
- Siempre: la máquina se reinicia una vez completada la actualización.
- Nunca: la máquina no se reinicia una vez completada la actualización. En algunos casos, esto podría significar que no todos los parches se hayan aplicado por completo.
- Los scripts previos al parche se ejecutan antes de que comience el parche. Si es necesario reiniciar el sistema antes de que comience la aplicación de parches, el script previo al parche se ejecuta antes del reinicio.
- Los scripts posteriores al parche se ejecutan una vez finalizado el parche. Si es necesario reiniciar el sistema como parte del parche, el script posterior al parche se ejecuta después del reinicio.
- Si su objeto de Cloud Storage no es legible públicamente, asegúrese de que la cuenta de servicio adjunta a la instancia tenga los permisos de IAM necesarios para leer los objetos de Cloud Storage. Para asegurarse de tener los permisos correctos, verifique la configuración de permisos en el objeto de Cloud Storage.
- Cuando seleccionas una secuencia de comandos de Cloud Storage mediante la consola de Google Cloud, se utiliza de forma predeterminada la última versión del objeto de Cloud Storage especificado.
Si su organización aplica la restricción de ubicación de recursos , debe almacenar sus scripts en depósitos de Cloud Storage en regiones y zonas que la política de su organización lo permita.
- Siga los pasos descritos en la pestaña de la consola para crear un trabajo de parche o una implementación de parche .
- En la sección Opciones avanzadas , tanto para la sección previa como posterior al parche, haga clic en Examinar . Se muestra una página de objetos de Cloud Storage.
- En la página del objeto de Cloud Storage, seleccione el depósito de Cloud Storage que contiene el script y luego seleccione el objeto o archivo de Cloud Storage.
- Realice las configuraciones adicionales que sean necesarias para su trabajo de parche o implementación.
- Haga clic en Implementar .
- La operación de parcheo falla al aplicar los parches
- La operación de parcheo falla al ejecutar los pasos previos o posteriores al parche
- La operación de parcheo no responde con una notificación de éxito antes de que expire el tiempo de espera
- Siga los pasos descritos en la pestaña de la consola para crear un trabajo de parche o una implementación de parche .
- En la sección Opciones de implementación , configure las opciones de implementación:
- Seleccione si desea parchear una zona a la vez o todas las zonas simultáneamente.
- Establecer el presupuesto de disrupción. Un presupuesto de interrupción es la cantidad o porcentaje de máquinas virtuales en una zona que desea que se interrumpan al mismo tiempo mediante el proceso de aplicación de parches.
- Realice las configuraciones adicionales que sean necesarias para su trabajo de parche o implementación.
- Haga clic en Implementar .
- Parchear todas las máquinas virtuales de su proyecto
- Aplicación de parches a las máquinas virtuales zona por zona
- Garantizar que no se interrumpan más de 10 máquinas virtuales en la misma zona en un momento dado
- Parchear todas las máquinas virtuales de su proyecto
- Parchar zonas simultáneamente
- Garantizar que no más del 50 por ciento de las máquinas virtuales en la misma zona se interrumpan en un momento dado
- Aplicación de parches a todas las máquinas virtuales en las zonas
us-central1-a
,us-central1-c
yus-central1-f
- Parchar zonas simultáneamente
- Garantizar que no más del 25 por ciento de las instancias en la misma zona se vean interrumpidas en un momento dado.
- En el menú Inicio de Windows , seleccione Configuración > Actualización y seguridad > Actualización de Windows .
- En la sección Opciones avanzadas , active Recibir actualizaciones para otros productos de Microsoft cuando actualice Windows .
Revise los detalles de la instancia del trabajo de parche afectado. Esto le ayuda a identificar qué instancias fallaron o en qué estado están atascadas. La lista de detalles de la instancia también contiene un breve mensaje de error para cada instancia.
Si un parche falla con un estado de
NO_AGENT_DETECTED
oTIMED_OUT
, esto generalmente significa que el servicio envió una solicitud al agente para comenzar a parchear pero nunca recibió respuesta del agente. Revise las siguientes posibles causas y soluciones:- La instancia no se está ejecutando. Para solucionar este problema, inicie la instancia de VM .
- Verifique la configuración utilizando la lista de verificación de verificación .
- La configuración de red en la red VPC o la instancia no permitió que el agente de OS Config se comunicara con la API de OS Config. Para solucionar este problema, verifique la configuración de red.
Si los detalles de la instancia no proporcionan suficiente información, revise los registros de Cloud Logging o la consola del puerto serie . El agente de OS Config escribe sus entradas de registro en ambas ubicaciones. En Cloud Logging, puede filtrar utilizando el ID del trabajo de parche para ver todas las entradas de registro relacionadas con ese trabajo de parche. También puede habilitar el registro de depuración configurando el valor de metadatos
osconfig-log-level=debug
en el nivel de proyecto de VM o Google Cloud.- Obtenga más información sobre el parche .
- Administre sus trabajos de parche .
- Programe trabajos 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.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Para 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 la lista completa de sistemas operativos y versiones que admiten parches, consulte Detalles del sistema operativo .
Configura tu máquina virtual
Para utilizar la función Parche, complete los siguientes pasos:
Permisos
Los propietarios de un proyecto de Google Cloud tienen acceso completo para ejecutar y administrar trabajos de parche. Para todos los demás usuarios, debe otorgar permisos. Puede otorgar uno de los siguientes roles granulares:
Por ejemplo, para otorgar acceso a un usuario para ejecutar trabajos de parche, use el siguiente comando:
gcloud projects add-iam-policy-binding project-id \ --member user:user-id@gmail.com \ --role roles/osconfig.patchJobExecutor
Reemplace lo siguiente:
Ejecutar trabajos de parche
Puede ejecutar una tarea de parche utilizando la consola de Google Cloud , la CLI de Google Cloud o REST .
Cuando ejecuta un trabajo de parche, la aplicación de parches a las máquinas virtuales se inicia simultáneamente en todas las instancias especificadas por el filtro de instancias .
Después de haber iniciado un trabajo de parche, puede monitorear sus parches usando el panel de parches . Se necesitan aproximadamente 30 minutos después de que se inicia un trabajo de parche antes de que los datos se completen en el panel.
Consola
nube de gcloud
Utilice el comando
os-config patch-jobs execute
para ejecutar un trabajo de parche. Reemplaceinstance-filter
con el filtro de instancia que desee. Para obtener más información sobre los filtros de instancia, consulte filtros de instancia .gcloud compute os-config patch-jobs execute instance-filter
Para obtener más información sobre qué actualizaciones se aplican, consulte qué se incluye en un trabajo de parche del sistema operativo . Para personalizar sus actualizaciones, use las banderas opcionales .
Ejemplos
Ejemplo 1 Para ejecutar una tarea de parche con las siguientes configuraciones:
gcloud compute os-config patch-jobs execute \ --instance-filter-names="zones/us-east1-b/instances/instance-1" \ --description "patch for instance-1"
Ejemplo 2 Suponga que desea ejecutar un trabajo de parche de forma asincrónica con las siguientes configuraciones:
Ejecutarías 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
DESCANSAR
En la API, cree una solicitud
POST
para ejecutar un nuevo trabajo de parche. Debe definir explícitamente todos los campos de configuración requeridos como se describe en la documentación de la APIpatchJobs.execute
.Para obtener más información sobre qué actualizaciones se aplican, consulte qué se incluye en un trabajo de parche del sistema operativo . Para personalizar sus actualizaciones, utilice los parámetros
PatchConfig
.Por ejemplo, un trabajo de parche con solo los campos obligatorios se parece al siguiente.
POST https://osconfig.googleapis.com/v1/projects/project-id/patchJobs:execute { "instanceFilter": instance-filter }
Reemplace lo siguiente:
Ejemplos
Ejemplo 1 Suponga que desea ejecutar un trabajo de parche en una instancia denominada
instance1
ubicada enus-east1-b
. En este ejemplo, agregamos una descripción y especificamos que el trabajo se ejecuta durante 1 hora y 30 minutos. Reemplaceproject-id
con su ID de 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 El siguiente trabajo de parche selecciona máquinas virtuales que tienen las siguientes configuraciones:
En el siguiente comando, reemplace
project-id
con su ID de 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
Suponga que desea ejecutar un trabajo de parche con las siguientes configuraciones:
Crearía la siguiente solicitud:
En el siguiente comando, reemplace
project-id
con su ID de 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
Puede especificar las instancias que se incluirán en un trabajo de parche mediante el uso de filtros. Los siguientes filtros son compatibles con los trabajos de parche:
También puedes ejecutar trabajos de parche en todas las instancias de un proyecto de Google Cloud configurando el campo
all
instanceFilter
entrue
. Para obtener más información, consulte filtros de instancia de ejemplo .Filtros de instancia de ejemplo
Guión filtro de gcloud filtro API Todas las instancias en un proyecto de Google Cloud --instance-filter-all
{ "instanceFilter":{ "all":"true" } }
Una instancia con el nombre instance1
que se encuentra en la zonaus-east1-b
.--instance-filter-names="zones/us-east1-b/instances/instance1"
{ "instanceFilter":{ "instances":[ "zones/us-east1-b/instances/instance1" ] } }
Instancias con el prefijo app-
--instance-filter-name-prefixes="app-"
{ "instanceFilter":{ "instanceNamePrefixes":[ "app-" ] } }
Instancias 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 etiqueta combinada de env=dev
yapp=web
así como 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" } } ] } }
Combinando filtros de instancia
Los filtros de instancia también se pueden combinar. Por ejemplo, para ejecutar un trabajo de parche para instancias que tienen el prefijo
test-
, que están ubicadas en la zonaus-east1-c
y que tienen las etiquetasenv=dev
yapp=web
, ejecute 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
Al ejecutar un trabajo de parche, puede especificar parámetros para controlar los parches que se aplican en la máquina virtual. Los parámetros de configuración del parche dependen de la plataforma y, a menudo, se pasan a las herramientas de actualización del sistema subyacente. Los parches reales provienen de los repositorios de paquetes (Linux) o del servidor de Windows Update (Windows) que está configurado en la VM.
Puede especificar las siguientes configuraciones de parches para sus máquinas virtuales:
Opcionalmente, para todos los sistemas operativos compatibles, puede seleccionar instalar parches aprobados solo especificando estas actualizaciones. Esto le permite ingresar una lista de paquetes o parches aprobados. Cuando selecciona estos parches aprobados, solo se instalan los paquetes o parches aprobados. Todos los demás parámetros de configuración del parche se omiten durante la actualización.
Ejemplos
Consola
nube de gcloud
Por ejemplo, para ejecutar una tarea de parche en todas las instancias en la zona
northamerica-northeast1-a
con configuraciones de parche 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 admitidas, ejecute el siguiente comando:
gcloud compute os-config patch-jobs execute --help
DESCANSAR
Por ejemplo, para ejecutar un trabajo de parche en todas las instancias de la zona
northamerica-northeast1-a
con configuraciones de parche específicas para diferentes sistemas operativos, ejecute 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 admitidos, revise la documentación
PatchConfig API
.Ventana de mantenimiento
Una ventana de mantenimiento es el período total de tiempo que permite que se ejecute un trabajo de parche. Los trabajos de parcheo expirarán si no se completan dentro del período de mantenimiento especificado.
Por ejemplo, si establece una ventana de mantenimiento de
60 minutes
, no se iniciarán nuevos trabajos de parche 60 minutos después de la hora de inicio. Algunos procesos, como descargar un archivo o reiniciar, pueden ocurrir fuera de esta ventana de mantenimiento; sin embargo, no se iniciarán nuevos trabajos de parche.Opciones de reinicio
Al ejecutar un trabajo de parche, puede especificar las opciones de reinicio del parche. Están disponibles las siguientes opciones:
Scripts previos y posteriores al parche
Al ejecutar un trabajo de parche, puede especificar secuencias de comandos que se ejecutarán como parte del proceso de parcheo. Estos scripts son útiles para realizar tareas como cerrar una aplicación y realizar comprobaciones de estado.
Un trabajo de parche acepta un script previo al parche y uno posterior al parche para Linux, y un script previo al parche y uno posterior al parche para Windows. Las secuencias de comandos de Linux y Windows deben proporcionarse utilizando las marcas, parámetros o secciones apropiadas cuando se especifican desde la CLI de Google Cloud , REST o la consola de Google Cloud , respectivamente. Los scripts de Linux se ejecutan únicamente en máquinas virtuales de Linux y los scripts de Windows se ejecutan únicamente en máquinas virtuales de Windows.
Estos archivos de script se pueden almacenar en la VM o en un depósito versionado de Cloud Storage.
Almacenar secuencias de comandos de parches en depósitos de Cloud Storage
Si desea utilizar un depósito de Cloud Storage para almacenar sus secuencias de comandos, cree un depósito de Cloud Storage y cargue sus secuencias de comandos en el depósito. Cuando utilices un depósito de Cloud Storage, considera lo siguiente:
Consola
nube de gcloud
Por ejemplo, para ejecutar un trabajo de parche en todas las instancias en la zona
northamerica-northeast1-a
con script previo y posterior al parche para instancias de Linux y Windows, ejecute 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, ejecute el siguiente comando:
gcloud compute os-config patch-jobs execute --help
DESCANSAR
Por ejemplo, para ejecutar un trabajo de parche en todas las instancias en la zona
northamerica-northeast1-a
con script previo y posterior al parche para instancias de Linux y Windows, ejecute 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, revise la sección
ExecStepConfig
de la documentación de la APIPatchConfig
.Opciones de implementación de parches
Puede elegir aplicar parches a las máquinas virtuales 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 despliegue de la zona, también puede especificar un presupuesto de interrupción de zona para sus máquinas virtuales.
Presupuesto de alteración de zona
Un presupuesto de interrupción es el número máximo (o porcentaje) de máquinas virtuales por zona que se interrumpirán en un momento dado.
¿Qué se considera una máquina virtual interrumpida?
Durante la aplicación de parches, una máquina virtual se considera interrumpida desde el momento en que se notifica al agente de configuración del sistema operativo que comience hasta que se completa la aplicación de parches. Este tiempo de interrupción incluye el tiempo para completar el reinicio y cualquier paso posterior al parche.
Una máquina virtual también se cuenta como parte del presupuesto de interrupción si cumple alguna de las siguientes condiciones:
Cómo funcionan los presupuestos para disrupciones
Para implementaciones zona por zona, si se excede el presupuesto de interrupción en una zona, el trabajo de parche se detiene. Esto sucede porque para pasar a la siguiente zona es necesario completar el proceso de parche en la zona anterior.
Por ejemplo, si el presupuesto de interrupción tiene un valor de 10 y 8 máquinas virtuales no se parchean en la zona actual, el trabajo de parche continúa aplicando parches a 2 máquinas virtuales a la vez hasta que se completa la zona. Cuando esa zona se completa con éxito, la aplicación de parches comienza con 10 máquinas virtuales a la vez en la siguiente zona. Si no se aplican los parches a 10 máquinas virtuales de la siguiente zona, el trabajo de parche se detiene.
Ejemplos
Consola
nube de gcloud
Ejemplo 1
Este ejemplo muestra el comando
os-config patch-jobs execute
para ejecutar un trabajo de parche 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
Este ejemplo muestra el comando
os-config patch-jobs execute
para ejecutar un trabajo de parche con las siguientes especificaciones:gcloud compute os-config patch-jobs execute \ --instance-filter-all \ --rollout-mode=concurrent-zones \ --rollout-disruption-budget-percent=50
DESCANSAR
Este ejemplo muestra el método
patchJobs.execute
para ejecutar un trabajo de parche 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 la implementación de parches, revise la documentación de la API
PatchRollout
.Habilite la aplicación de parches al software de Microsoft en máquinas virtuales Windows
Cuando ejecuta un trabajo de parche en máquinas virtuales Windows, de forma predeterminada, Patch aplica solo los parches para el sistema operativo Windows.
Puede aplicar actualizaciones para software de Microsoft como Microsoft SQL Server, SharePoint Server o .NET framework que se ejecutan en sus máquinas virtuales Windows cuando ejecuta un trabajo de parche. De forma predeterminada, la aplicación de parches a estas aplicaciones está deshabilitada para evitar la interrupción del servicio y separar las actualizaciones planificadas para este software. Para habilitar la aplicación de parches al software de Microsoft automáticamente, puede utilizar la interfaz de usuario de Windows o PowerShell.
Interfaz de usuario de Windows
PowerShell
$service_manager = New-Object -ComObject 'Microsoft.Update.ServiceManager' $service_manager.AddService2("7971f918-a847-4430-9279-4a52d1efe18d",7,"")
Depurar un trabajo de parche
Si su parche falla, puede seguir los siguientes pasos para ayudar a encontrar y resolver los problemas.
¿Qué sigue?
A menos que se indique lo contrario, el contenido de esta página está sujeto a la licencia Reconocimiento 4.0 de Creative Commons y las muestras de código están sujetas a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio web de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-04-17 (UTC).
-