Además de ejecutar trabajos de parche a pedido, es posible que desees tener trabajos de aplicación de parches que se ejecuten automáticamente en función de un programa establecido mediante la creación de una implementación de parches.
Cada implementación de parches puede tener una programación única, que ejecuta un trabajo de parche en una fecha y hora específicas, o una programación recurrente, que ejecuta un trabajo de parche en un intervalo especificado.
Los filtros de instancias te permiten aplicar un parche de manera simultánea a muchas instancias al mismo tiempo. Estos filtros se aplican a cada trabajo de parche individual en el momento en que se ejecuta. Esto garantiza que los cambios en el proyecto se capturen en tiempo real.
Por ejemplo, supongamos que se crea una implementación de parches para aplicar parches a todas las instancias en la zona asia-souteast1-b
en dos semanas. Cuando creaste el parche, tenías 20 instancias en la zona, pero, luego, se agregaron 40 nuevas. Debido a que el filtro se aplica en el momento en que se inicia el parche, se actualizan las 60 instancias. Esto te permite agregar y quitar instancias sin necesidad de actualizar el programa de implementación de parches.
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 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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
roles/osconfig.patchDeploymentAdmin
: Contiene permisos para crear, borrar, obtener y enumerar implementaciones de parches.roles/osconfig.patchDeploymentViewer
: Contiene permisos de acceso de solo lectura para obtener y enumerar implementaciones de parches.project-id
: El ID del proyectouser-id
: El nombre de usuario de Google Workspace.- Cada nombre debe ser único dentro de un proyecto
- Contener solo letras en minúscula, números y guiones
- Comenzar con una letra
- Terminar con un número o una letra
- Tener entre 1 y 63 caracteres
- 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 seleccionar todas las zonas.
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 qué se incluye en un trabajo de aplicación de parches de SO.
En la sección Programa, completa lo siguiente:
- Elige un programa. Puedes programar un trabajo de aplicación de parches único o recurrentes.
- 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 hacer las siguientes tareas en la sección Opciones avanzadas:
- Elegir 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.
patch-deployment-id
: El nombre de la implementación de parchespatch-deployment-file
: La ruta al archivo YAML o JSON que contiene la configuración para la implementación de parches- La fecha de inicio es el 9 de enero de 2019 a las 7:30 p.m.
- La fecha de finalización es el 9 de enero de 2020 a las 7:30 p.m.
- La zona horaria que puedes usar es “America/Los_Angeles”.
- Se ejecuta todos los martes.
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 los filtros de instancia.schedule
: Proporciona el parámetrooneTimeSchedule
orecurringSchedule
que detalla parámetros de programación, como la fecha, la hora y la frecuencia para ejecutar el trabajo de parche.- La fecha de inicio es el 9 de enero de 2019 a las 7:30 p.m.
- La fecha de finalización es el 9 de enero de 2020 a las 7:30 p.m.
- La zona horaria que puedes usar es “America/Los_Angeles”.
- Se ejecuta todos los martes.
- En la consola de Google Cloud, ve a la página Compute Engine > VM Manager > Parche.
- Elige la pestaña Implementaciones programadas.
- En la consola de Google Cloud, ve a la página Compute Engine > VM Manager > Parche.
- Elige la pestaña Implementaciones programadas.
- Haz clic en el nombre de la implementación que deseas revisar.
project-id
: Tu ID del proyectopatch-deployment-id
: El nombre de la implementación del parche- En la consola de Google Cloud, ve a la página Compute Engine > VM Manager > Parche.
- Elige la pestaña Implementaciones programadas.
- Haz clic en el nombre de la implementación que deseas borrar.
- Haz clic en Borrar este programa.
project-id
: Tu ID del proyectopatch-deployment-id
: El nombre de la implementación del parche- Obtén más información sobre los parches.
- Crea trabajos de aplicación de parches.
- Administra los 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.
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.
Puedes programar tus trabajos de aplicación de parches mediante la consola de Google Cloud, Google Cloud CLI o REST.
Permisos
Los propietarios de un proyecto tienen acceso completo para crear y administrar implementaciones de parches. Para el resto de los usuarios, debes otorgar permisos. Puedes otorgar una de las siguientes funciones detalladas:
Por ejemplo, para otorgar acceso de administrador de usuarios a las implementaciones de parches, ejecuta el siguiente comando:
gcloud projects add-iam-policy-binding project-id \ --member user:user-id@gmail.com \ --role roles/osconfig.patchDeploymentAdmin
Reemplaza lo siguiente:
Crea una implementación de parches
Cuando creas una implementación de parches, su nombre debe cumplir con los siguientes requisitos de denominación:
En Google Cloud CLI y REST, el nombre de la implementación de parches se conoce como
patch-deployment-id
.Después de iniciar un trabajo de implementació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-deployments create
para crear una implementación de parches.gcloud compute os-config patch-deployments create patch-deployment-id \ --file patch-deployment-file
Reemplaza lo siguiente:
Ejemplo de archivos YAML de implementación de parches
Se puede usar el siguiente archivo YAML de muestra para crear una programación recurrente para todas las instancias en las zonas
us-west2-b
yus-west2-c
. El programa recurrente tiene las siguientes especificaciones:instanceFilter: zones: - us-west2-b - us-west2-c recurringSchedule: frequency: WEEKLY weekly: dayOfWeek: TUESDAY timeOfDay: hours: 19 minutes: 30 timeZone: id: America/Los_Angeles startTime: '2019-09-01T12:00:00Z' endTime: '2020-09-01T12:00:00Z'
REST
En la API, crea una solicitud
POST
para crear una implementación de parches nueva. Debes definir de manera explícita todos los campos de configuración obligatorios como se describe en la documentación de la API depatchDeployments.create
. Por ejemplo, una implementación de parches con los campos obligatorios mínimos (filtro de instancias y programa) se ve de la siguiente manera. Reemplazaproject-id
con el ID del proyecto.POST https://osconfig.googleapis.com/v1/projects/project-id/patchJobs:execute { "instanceFilter": instance-filter // Add one of the following parameters: "recurringSchedule": schedule "oneTimeSchedule": schedule }
Reemplaza lo siguiente:
Ejemplos
Ejemplo 1: Crea un programa de una vez para ejecutar un trabajo de parche el 10 de enero de 2020 a las 12 a.m. UTC en todas las instancias de las zonas
us-west2-b
yus-west2-c
.{ "instanceFilter":{ "zones":[ "us-west2-b", "us-west2-c" ] }, "oneTimeSchedule": { "executeTime": "2020-01-10T00:00:00Z" } }
Ejemplo 2: Crea un programa recurrente para todas las instancias en las zonas
us-west2-b
yus-west2-c
. El programa recurrente tiene las siguientes especificaciones:POST https://osconfig.googleapis.com/v1/projects/project-id/patchDeployments { "instanceFilter":{ "zones":[ "us-west2-b", "us-west2-c" ] }, "recurringSchedule":{ "frequency":"WEEKLY", "weekly":{ "dayOfWeek":"TUESDAY" }, "timeOfDay":{ "hours":19, "minutes":30 }, "timeZone":{ "id":"America/Los_Angeles" }, "startTime":"2019-09-01T12:00:00Z", "endTime":"2020-09-01T12:00:00Z" } }
Enumera implementaciones de parches
Console
gcloud
Usa el comando
os-config patch-deployments list
para enumerar las implementaciones de parches.gcloud compute os-config patch-deployments list
Este comando muestra todas las implementaciones de parches. El resultado se ve de la siguiente manera:
NAME LAST_RUN NEXT_RUN FREQUENCY first-deployment 2019-12-18T00:07:00.738Z --- Once: Scheduled for 2019-12-18T00:07:00.000Z my-deployment1 2020-01-05T14:00:00.228Z 2020-01-12T14:00:00Z Recurring - Weekly my-deployment2 --- 2020-01-15T05:30:00Z Recurring - Monthly on specific date(s)
Puedes usar más marcas para limitar y dar formato a la búsqueda. Por ejemplo, para enumerar las primeras 10 implementaciones de parches en páginas de 2, ejecuta el siguiente comando. Reemplaza
project-id
con el ID del proyecto.gcloud compute os-config patch-deployments list --limit 10 --page-size 2
REST
En la API, crea una solicitud
GET
para el métodopatchDeployments.list
. Reemplazaproject-id
con el ID del proyecto.GET https://osconfig.googleapis.com/v1/projects/project-id/patchDeployments
Describe una implementación de parche
Console
gcloud
Usa el comando
os-config patch-deployments describe
para describir una implementación de parches. Reemplazapatch-deployment-id
con el nombre de la implementación de parches.gcloud compute os-config patch-deployments describe patch-deployment-id
REST
En la API, crea una solicitud
GET
para el métodopatchDeployments.get
.GET https://osconfig.googleapis.com/v1/projects/project-id/patchDeployments/patch-deployment-id
Reemplaza lo siguiente:
Borra una implementación de parche
Console
gcloud
Usa el comando
os-config patch-deployments delete
para borrar una implementación de parches. Reemplazapatch-deployment-id
con el nombre de la implementación de parches.gcloud compute os-config patch-deployments delete patch-deployment-id
REST
En la API, crea una solicitud
DELETE
para el métodopatchDeployments.delete
.DELETE https://osconfig.googleapis.com/v1/projects/project-id/patchDeployments/patch-deployment-id
Reemplaza lo siguiente:
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-12-22 (UTC)
-