Création d'une stratégie de redimensionnement automatique basé sur une programmation
Sur Compute Cloud@Customer, vous pouvez créer des stratégies de redimensionnement automatique basées sur une programmation.
Une stratégie de redimensionnement automatique fait partie d'une configuration de redimensionnement automatique. Chaque stratégie d'une configuration de redimensionnement automatique basé sur une programmation comporte une programmation et une taille de pool cible ou une action de cycle de vie.
Les procédures de cette section expliquent comment créer des stratégies distinctes de la création de la configuration de redimensionnement automatique.
Concevoir des stratégies
Cette section fournit des conseils pour la conception et le dépannage de stratégies.
Créez deux stratégies distinctes pour mettre à l'échelle un pool ou pour modifier son état entre Arrêté et En cours d'exécution.
-
Exemple d'échelle : une stratégie indique une taille plus grande pour le pool au début d'une période de demande élevée et une seconde stratégie indique une taille de pool plus petite à la fin de la période de demande élevée.
-
Exemple d'état : une stratégie arrête toutes les instances du pool au début d'une période de maintenance de noeud de calcul standard et une seconde stratégie démarre le pool à la fin de la période de maintenance.
Concevez la programmation de stratégie comme suit :
-
Utilisez des expressions
cron
. Le redimensionnement automatique utilise une implémentation CRO similaire à l'implémentation CRO Quartz. Tous les champs nécessitent une valeur. Si des champs sont en conflit, comme le jour du mois et le jour de la semaine, utilisez une valeur spécifique pour l'un et un point d'interrogation pour l'autre. -
Indiquez toutes les heures programmées au format UTC.
-
Utilisez un générateur d'expressions
cron
en ligne tel que Générateur d'expressions cron Quartz pour vérifier vos expressions de programmation. -
Assurez-vous que les programmations de stratégie ne sont pas en conflit. Reportez-vous aux descriptions de la section Gestion de plusieurs calendriers pour savoir quelles stratégies s'exécutent en cas de conflit de calendriers.
Si l'exécution d'une stratégie échoue ou semble échouer, procédez comme suit :
-
Vérifiez que la configuration de redimensionnement automatique et la stratégie de redimensionnement automatique sont toutes deux activées.
-
Vérifiez l'expression de programmation. La stratégie est-elle configurée pour s'exécuter lorsque vous souhaitez qu'elle s'exécute ? N'oubliez pas que toutes les heures d'expression doivent être indiquées au format UTC.
-
La stratégie était-elle définie pour démarrer les instances déjà en cours d'exécution ou arrêter les instances déjà arrêtées ?
En plus d'un conflit de stratégie, une action d'alimentation peut avoir été effectuée sur le pool séparément de toute stratégie de redimensionnement automatique. Cette action de puissance distincte pourrait empêcher l'action de politique de réussir. L'action de puissance de stratégie ne fait pas l'objet d'une nouvelle tentative.
-
La stratégie était-elle configurée pour évoluer, mais les ressources disponibles étaient insuffisantes ?
La stratégie de redimensionnement définit la taille du pool et celui-ci continue d'essayer d'atteindre cette taille au fur et à mesure que les ressources deviennent disponibles.
-
L'opération indiquée par la stratégie est-elle toujours en cours d'exécution ou en attente d'exécution ?
-
Vérifiez si le pool est à l'état Redimensionnement, Démarrage, Arrêt ou Réinitialisation, ce qui indique que l'opération de stratégie est toujours en cours d'exécution.
-
Si une opération de modification d'état tente de s'exécuter alors qu'une opération de modification d'état est déjà en cours d'exécution sur le même pool, l'exécution de la deuxième opération échoue.
-
Un nombre limité de pools peut changer d'état simultanément. Si trop d'autres pools changent déjà d'état, le pool doit attendre pour commencer à changer d'état. Le délai de modification de l'état est plus long lorsque d'autres instances sont impliquées car les instances sont démarrées, arrêtées ou réinitialisées en série.
-
Un nombre limité de pools peut changer de taille simultanément. Si d'autres pools changent déjà de taille, il se peut que votre pool doive attendre pour commencer le redimensionnement. La mise à l'échelle est plus longue lorsque plusieurs instances sont impliquées car elles sont supprimées ou créées en série. La suppression et la création d'instances sont des opérations en arrière-plan et prennent un certain temps à commencer après la mise à jour de la taille du pool par la stratégie.
-
-
Dans le menu de navigation de la console Compute Cloud@Customer, sélectionnez Calcul, puis Configurations de redimensionnement automatique.
- En haut de la page, sélectionnez le compartiment contenant la configuration à laquelle ajouter une stratégie.
-
Sélectionnez le nom de la configuration de redimensionnement automatique à laquelle ajouter une stratégie.
- Sous Ressources, sélectionnez Stratégies de redimensionnement automatique, puis Créer une stratégie programmée.
-
Dans la boîte de dialogue Créer une stratégie, entrez les informations suivantes :
-
Nom : entrez le nom de la nouvelle stratégie de redimensionnement automatique.
-
Action à exécuter : sélectionnez Redimensionner le pool ou Modifier l'état de cycle de vie de toutes les instances.
-
Redimensionner le pool : entrez le nombre d'instances vers lequel redimensionner le pool à l'heure programmée.
-
Modifier l'état de cycle de vie de toutes les instances : sélectionnez l'état vers lequel toutes les instances du pool passent à l'heure programmée.
-
Activer la programmation : par défaut, la zone Programmation activée est sélectionnée pour permettre l'exécution de la stratégie à l'heure programmée suivante. Décochez la case pour désactiver cette stratégie.
-
-
Programmation d'exécution : définissez la programmation d'implémentation de cette stratégie de redimensionnement automatique. Reportez-vous à Conception de stratégies.
-
-
Sélectionnez Soumettre.
-
Utilisez la commande oci autoscaling policy create et les paramètres requis afin de créer une stratégie de redimensionnement automatique pour la configuration de redimensionnement automatique spécifiée.
oci autoscaling policy create --auto-scaling-configuration-id autoscaling_configuration_OCID --from-json file://policy_definitions.json --policy-type scheduled [OPTIONS]
Pour obtenir la liste complète des commandes, des indicateurs et des options d'interface de ligne de commande, reportez-vous à Référence de ligne de commande.
Procédure
-
Obtenez l'OCID de la configuration de redimensionnement automatique dans laquelle ajouter cette stratégie de redimensionnement automatique :
oci autoscaling configuration list
-
Créez un fichier contenant les définitions de stratégie.
Utilisez la commande suivante pour afficher le contenu et le format du fichier :
$ oci autoscaling policy create \ --generate-full-command-json-input > autoscalingPolicyCreate.json
Remarque
N'indiquez pas de valeurs pour
capacity
min
oumax
. Ces propriétés ne s'appliquent pas aux configurations de redimensionnement automatique basées sur une programmation.Les valeurs par défaut de
capacity
min
etmax
apparaissent dans la stratégie de redimensionnement automatique créée, mais ne sont pas utilisées pour le redimensionnement automatique basé sur une programmation.Le nom d'affichage comporte entre 1 et 255 caractères, n'a pas besoin d'être unique et peut être mis à jour.
Pour obtenir de l'aide sur la définition de la programmation d'exécution de stratégie, reportez-vous aux références fournies dans Création d'une stratégie de redimensionnement automatique basée sur une programmation.
timezone
doit êtreUTC
ettype
doit êtrecron
.La stratégie est activée par défaut.
Le type de stratégie doit être
scheduled
.Le type d'action de ressource doit être
power
et l'action doit êtreSTOP
,START
,SOFTRESET
,RESET
.Voici un exemple de fichier d'entrée de création de stratégie de redimensionnement automatique :
{ [ { "capacity": { "initial": 10 }, "displayName": "size 10", "executionSchedule": { "expression": "0 0 10 ? 1 2#2 *", "timezone": "UTC", "type": "cron" }, "isEnabled": true, "policyType": "scheduled" }, "capacity": { "initial": 30 }, "displayName": "size 30", "executionSchedule": { "expression": "0 0 7 ? 11 5#1 *", "timezone": "UTC", "type": "cron" }, "isEnabled": true, "policyType": "scheduled" }, { "displayName": "stop policy", "executionSchedule": { "expression": "0 0 7 ? JAN,APR,JUL,OCT 4#3 *", "timezone": "UTC", "type": "cron" }, "isEnabled": true, "policyType": "scheduled", "resourceAction": { "actionType": "power", "action": "STOP" } }, { "displayName": "start policy", "executionSchedule": { "expression": "0 0 13 ? JAN,APR,JUL,OCT 4#3 *", "timezone": "UTC", "type": "cron" }, "isEnabled": true, "policyType": "scheduled", "resourceAction": { "actionType": "power", "action": "START" } } ] }
-
Exécutez la commande afin de créer des stratégies pour la configuration de redimensionnement automatique indiquée.
Exemple :
$ oci autoscaling policy create \ --auto-scaling-configuration-id ocid1.autoscalingConfiguration.unique_ID \ --from-json file://./salesPoolPolicies.json --policy-type scheduled
Utilisez la commande
work-requests work-request get
pour vérifier le statut de la commande de création de stratégie de redimensionnement automatique.
-
Reportez-vous à la référence AutoScalingPolicy pour connaître les opérations d'API qui définissent les critères déclenchant des actions de redimensionnement automatique et les actions à effectuer.
Pour plus d'informations sur l'utilisation de l'API et la signature des demandes, reportez-vous à API REST et à Informations d'identification de sécurité. Pour plus d'informations sur les kits SDK, reportez-vous à Kits SDK et interface de ligne de commande.