En plus d'exécuter des job d'application de correctifs à la demande, vous souhaiterez peut-être créer un déploiement de correctifs pour que vos jobs s'exécutent automatiquement selon une programmation définie.
Chaque déploiement de correctifs peut être associé à une programmation ponctuelle, qui exécute un job d'application de correctifs à une date et une heure spécifiques, ou à une programmation récurrente, qui exécute un job d'application de correctifs à un intervalle spécifié.
Les filtres d'instances vous permettent de corriger plusieurs instances simultanément. Ces filtres sont appliqués à chaque job d'application de correctifs individuel au moment de son exécution. Ainsi, les modifications apportées à votre projet sont enregistrées en temps réel.
Par exemple, imaginons qu'un déploiement de correctifs soit créé afin de corriger toutes les instances de la zone asia-souteast1-b
dans deux semaines. Au moment de la création du correctif, 20 instances se trouvaient dans la zone, mais 40 nouvelles instances ont été ajoutées à la zone quelques jours plus tard. Comme le filtre est appliqué au démarrage du correctif, les 60 instances sont mises à jour. Cette méthode vous permet d'ajouter et de supprimer des instances sans avoir à mettre à jour la programmation du déploiement de correctifs.
Avant de commencer
- Consultez les quotas d'OS Config.
-
Si ce n'est pas déjà fait, configurez l'authentification.
L'authentification est le processus permettant de valider votre identité pour accéder aux services et aux API Google Cloud.
Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine comme suit :
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
: contient les autorisations nécessaires pour créer, supprimer, obtenir et répertorier les déploiements de correctifs.roles/osconfig.patchDeploymentViewer
: contient des autorisations d'accès en lecture seule pour obtenir et répertorier les déploiements de correctifs.project-id
: ID du projetuser-id
: nom d'utilisateur Google Workspace de l'utilisateur- Chaque nom doit être unique dans un projet.
- Le nom ne doit contenir que des lettres minuscules, des chiffres et des traits d'union.
- Le nom doit commencer par une lettre.
- Le nom doit se terminer par un chiffre ou une lettre.
- Le nom doit comporter entre 1 et 63 caractères.
- Dans la console Google Cloud, accédez à la page Compute Engine > VM Manager > Patch.
- Cliquez sur Nouveau déploiement de correctifs.
Dans la section VM cibles, sélectionnez la zone contenant les VM auxquelles vous souhaitez appliquer des correctifs. Vous pouvez également choisir de sélectionner toutes les zones.
Par exemple, pour corriger des VM spécifiques dans les zones sélectionnées, saisissez les filtres de nom et de libellé comme suit :
- Name Prefix (Préfixe de nom) :
test-
- Labels (Libellés) :
env=dev
etapp=web
- Name Prefix (Préfixe de nom) :
Dans la section Configuration de correctifs, configurez le correctif.
- Indiquez un nom pour votre correctif.
- Sélectionnez les mises à jour requises pour votre système d'exploitation. Consultez la section Que contient un job d'application de correctifs de système d'exploitation ? pour en savoir plus.
Dans la section Planification, procédez comme suit :
- Sélectionnez une programmation. Vous pouvez programmer un job d'application de correctifs ponctuel ou récurrent.
- (Facultatif) Définissez une durée ou un intervalle de maintenance.
Dans la section Options de déploiement, configurez les options de déploiement de correctifs :
- Indiquez si vous souhaitez appliquer un correctif à une zone à la fois ou simultanément dans toutes les zones.
- Définissez un budget d'interruption. Ce budget correspond au nombre ou au pourcentage de VM que vous souhaitez que le processus d'application de correctifs puisse interrompre simultanément dans une zone.
(Facultatif) Dans la section Options avancées, vous pouvez effectuer les tâches suivantes :
- Sélectionnez une option de redémarrage.
- Importez des scripts préliminaires et consécutifs aux correctifs. Pour en savoir plus sur les scripts préliminaires et consécutifs aux correctifs, consultez la section Scripts préliminaires et consécutifs aux correctifs.
Cliquez sur Déployer.
patch-deployment-id
: nom du déploiement de correctifs.patch-deployment-file
: chemin d'accès au fichier YAML ou JSON contenant les configurations pour le déploiement de correctifs.- Date de début : 9 janvier 2019 à 19h30
- Date de fin : 9 janvier 2020 à 19h30
- Fuseau horaire à utiliser : "America/Los_Angeles"
- Exécution tous les mardis
project-id
: ID de votre projetinstance-filter
: paramètres de filtre souhaités. Pour en savoir plus sur les filtres d'instances, consultez la section Filtres d'instances.schedule
: fournissez le paramètreoneTimeSchedule
ourecurringSchedule
qui détaille les paramètres de programmation, tels que la date, l'heure et la fréquence d'exécution du job d'application de correctifs.- Date de début : 9 janvier 2019 à 19h30
- Date de fin : 9 janvier 2020 à 19h30
- Fuseau horaire à utiliser : "America/Los_Angeles"
- Exécution tous les mardis
- Dans la console Google Cloud, accédez à la page Compute Engine > VM Manager > Patch.
- Sélectionnez l'onglet Déploiements programmés.
- Dans la console Google Cloud, accédez à la page Compute Engine > VM Manager > Patch.
- Sélectionnez l'onglet Déploiements programmés.
- Cliquez sur le nom du déploiement que vous souhaitez examiner.
project-id
: ID de votre projet.patch-deployment-id
: nom du déploiement de correctifs.- Dans la console Google Cloud, accédez à la page Compute Engine > VM Manager > Patch.
- Sélectionnez l'onglet Déploiements programmés.
- Cliquez sur le nom du déploiement que vous souhaitez supprimer.
- Cliquez sur Supprimer cette planification.
project-id
: ID de votre projet.patch-deployment-id
: nom du déploiement de correctifs.- Apprenez-en plus sur Patch.
- Créez un job d'application de correctifs.
- Gérez vos jobs d'application de correctifs.
REST
Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud.
Vous pouvez programmer vos tâches d'application de correctifs à l'aide de la console Google Cloud, de Google Cloud CLI ou de REST.
Autorisations
Les propriétaires d'un projet disposent d'un accès complet pour créer et gérer des déploiements de correctifs. Pour tous les autres utilisateurs, vous devez accorder des autorisations. Vous pouvez attribuer l'un des rôles suivants :
Par exemple, pour accorder à un utilisateur un accès administrateur aux déploiements de correctifs, exécutez la commande suivante :
gcloud projects add-iam-policy-binding project-id \ --member user:user-id@gmail.com \ --role roles/osconfig.patchDeploymentAdmin
Remplacez l'élément suivant :
Créer un déploiement de correctifs
Lorsque vous créez un déploiement de correctifs, le nom du déploiement doit suivre les règles de dénomination suivantes :
Dans Google Cloud CLI et REST, le nom du déploiement de correctifs est appelé
patch-deployment-id
.Après avoir démarré un déploiement de correctif, vous pouvez surveiller vos correctifs via le tableau de bord Patch. Une fois un job d'application de correctifs lancé, les données mettent environ 30 minutes à apparaître dans le tableau de bord.
Console
gcloud
Exécutez la commande
os-config patch-deployments create
pour créer un déploiement de correctifs.gcloud compute os-config patch-deployments create patch-deployment-id \ --file patch-deployment-file
Remplacez l'élément suivant :
Exemples de fichiers YAML de déploiement de correctifs
L'exemple de fichier YAML suivant permet de créer une programmation récurrente pour toutes les instances des zones
us-west2-b
etus-west2-c
. La programmation récurrente présente les spécifications suivantes :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
Dans l'API, effectuez une requête
POST
pour créer un déploiement de correctifs. Vous devez définir explicitement tous les champs de configuration requis, comme décrit dans la documentation de l'APIpatchDeployments.create
. Par exemple, un déploiement de correctifs qui ne comporte que les champs obligatoires requis (filtre d'instance et programmation) se présente comme suit : Remplacezproject-id
par l'ID du projet.POST https://osconfig.googleapis.com/v1/projects/project-id/patchJobs:execute { "instanceFilter": instance-filter // Add one of the following parameters: "recurringSchedule": schedule "oneTimeSchedule": schedule }
Remplacez l'élément suivant :
Exemples
Exemple 1 : Créez une programmation ponctuelle afin d'exécuter un job d'application de correctifs le 10 janvier 2020 à minuit UTC sur toutes les instances des zones
us-west2-b
etus-west2-c
.{ "instanceFilter":{ "zones":[ "us-west2-b", "us-west2-c" ] }, "oneTimeSchedule": { "executeTime": "2020-01-10T00:00:00Z" } }
Exemple 2 : Créez une programmation récurrente pour toutes les instances des zones
us-west2-b
etus-west2-c
. La programmation récurrente présente les spécifications suivantes :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" } }
Répertorier les déploiements de correctifs
Console
gcloud
Exécutez la commande
os-config patch-deployments list
pour répertorier les déploiements de correctifs.gcloud compute os-config patch-deployments list
Cette commande renvoie tous les déploiements de correctifs. Le résultat se présente comme suit :
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)
Vous pouvez utiliser davantage d'options pour limiter et formater votre recherche. Par exemple, pour répertorier les 10 premiers déploiements de correctifs sur deux pages, exécutez la commande suivante. Remplacez
project-id
par l'ID du projet.gcloud compute os-config patch-deployments list --limit 10 --page-size 2
REST
Dans l'API, envoyez une requête
GET
à la méthodepatchDeployments.list
. Remplacezproject-id
par l'ID du projet.GET https://osconfig.googleapis.com/v1/projects/project-id/patchDeployments
Décrire un déploiement de correctifs
Console
gcloud
Exécutez la commande
os-config patch-deployments describe
pour décrire un déploiement de correctifs. Remplacezpatch-deployment-id
par le nom de votre déploiement de correctifs.gcloud compute os-config patch-deployments describe patch-deployment-id
REST
Dans l'API, envoyez une requête
GET
à la méthodepatchDeployments.get
.GET https://osconfig.googleapis.com/v1/projects/project-id/patchDeployments/patch-deployment-id
Remplacez l'élément suivant :
Supprimer un déploiement de correctifs
Console
gcloud
Exécutez la commande
os-config patch-deployments delete
pour supprimer un déploiement de correctifs. Remplacezpatch-deployment-id
par le nom de votre déploiement de correctifs.gcloud compute os-config patch-deployments delete patch-deployment-id
REST
Dans l'API, envoyez une requête
DELETE
à la méthodepatchDeployments.delete
.DELETE https://osconfig.googleapis.com/v1/projects/project-id/patchDeployments/patch-deployment-id
Remplacez les éléments suivants :
Étape suivante
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2024/12/22 (UTC).
-