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 APIs 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:
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
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
Para 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:
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.
Por ejemplo, para otorgar acceso de administrador de usuarios a las implementaciones de parches, ejecuta el siguiente comando:
gcloud projects add-iam-policy-bindingproject-id \ --member user:user-id @gmail.com \ --role roles/osconfig.patchDeploymentAdmin
Reemplaza lo siguiente:
project-id
: El ID del proyectouser-id
: El nombre de usuario de Google Workspace.
Crea una implementación de parches
Cuando creas una implementación de parches, su nombre debe cumplir con los siguientes requisitos de denominación:
- 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 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.
- 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 realizar 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.
Usa el comando os-config patch-deployments create
para crear una implementación de parches.
gcloud compute os-config patch-deployments createpatch-deployment-id \ --filepatch-deployment-file
Reemplaza lo siguiente:
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
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
y us-west2-c
. El programa recurrente tiene las siguientes especificaciones:
- 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.
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'
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 de patchDeployments.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.
Reemplaza project-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:
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.
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
y us-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
y us-west2-c
. El programa recurrente tiene las siguientes especificaciones:
- 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.
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
- En la consola de Google Cloud, ve a la página Compute Engine > VM Manager > Parche.
- Elige la pestaña Implementaciones programadas.
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
En la API, crea una solicitud GET
para el método patchDeployments.list
. Reemplaza project-id
con el ID del proyecto.
GET https://osconfig.googleapis.com/v1/projects/project-id /patchDeployments
Describe una implementación de 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 revisar.
Usa el comando os-config patch-deployments describe
para describir una implementación de parches. Reemplaza patch-deployment-id
con el nombre de la implementación de parches.
gcloud compute os-config patch-deployments describepatch-deployment-id
En la API, crea una solicitud GET
para el método patchDeployments.get
.
GET https://osconfig.googleapis.com/v1/projects/project-id /patchDeployments/patch-deployment-id
Reemplaza lo siguiente:
project-id
: Tu ID del proyectopatch-deployment-id
: El nombre de la implementación del parche
Borra una implementación de 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.
Usa el comando os-config patch-deployments delete
para borrar una implementación de parches. Reemplaza patch-deployment-id
con el nombre de la implementación de parches.
gcloud compute os-config patch-deployments deletepatch-deployment-id
En la API, crea una solicitud DELETE
para el método patchDeployments.delete
.
DELETE https://osconfig.googleapis.com/v1/projects/project-id /patchDeployments/patch-deployment-id
Reemplaza lo siguiente:
project-id
: Tu ID del proyectopatch-deployment-id
: El nombre de la implementación del parche
Próximos pasos
- Obtén más información sobre los parches.
- Crea trabajos de aplicación de parches.
- Administra los trabajos de parche.