Creazione di un criterio di scala automatica basato su pianificazione

In Compute Cloud@Customer, puoi creare criteri di ridimensionamento automatico basati sulla pianificazione.

Un criterio di scala automatica fa parte di una configurazione di scala automatica. Ogni criterio di una configurazione di scala automatica basata sulla pianificazione prevede una pianificazione e una dimensione del pool di destinazione oppure un'azione del ciclo di vita.

Le procedure descritte in questa sezione descrivono come creare criteri separati dalla creazione della configurazione di scala automatica.

Progettazione dei criteri

In questa sezione vengono forniti alcuni suggerimenti per la progettazione e la risoluzione dei problemi dei criteri.

Creare due criteri separati per ridimensionare un pool in entrata e in uscita oppure per modificare lo stato del pool tra arrestato e in esecuzione.

  • Esempio di scala: un criterio specifica una dimensione maggiore per il pool all'inizio di un periodo di domanda elevato e un secondo criterio specifica una dimensione di pool più piccola alla fine del periodo di domanda elevata.

  • Esempio di stato: un criterio arresta tutte le istanze nel pool all'inizio di un normale periodo di manutenzione del nodo di calcolo e un secondo criterio avvia il pool alla fine del periodo di manutenzione.

Progettare la pianificazione dei criteri come indicato di seguito.

  • Usare le espressioni cron. Il ridimensionamento automatico utilizza un'implementazione Cron simile all'implementazione Cron di Quartz. Tutti i campi richiedono un valore. Se i campi sono in conflitto, ad esempio giorno del mese e giorno della settimana, utilizzare un valore specifico per uno e un punto interrogativo per l'altro.

  • Fornire tutti gli orari di pianificazione in UTC.

  • Utilizzare un generatore di espressioni cron in linea, ad esempio Generatore di espressioni cron quarzo, per verificare le espressioni di pianificazione.

  • Assicurarsi che le pianificazioni dei criteri non siano in conflitto. Vedere le descrizioni in Gestione di più pianificazioni dei criteri eseguiti quando le pianificazioni sono in conflitto.

Se l'esecuzione di un criterio non riesce o sembra non riuscire, effettuare le operazioni riportate di seguito.

  • Controllare che la configurazione del ridimensionamento automatico e il criterio di ridimensionamento automatico siano entrambi abilitati.

  • Controllare l'espressione di pianificazione. Il criterio è impostato per l'esecuzione quando si desidera che venga eseguito? Ricorda, tutti i tempi di espressione devono essere forniti in UTC.

  • Il set di criteri prevedeva l'avvio di istanze già in esecuzione o l'arresto di istanze già arrestate?

    Oltre a un conflitto di criteri, è possibile che nel pool sia stata eseguita un'azione di alimentazione separata da qualsiasi criterio di ridimensionamento automatico. Tale azione di potere separata potrebbe impedire il successo dell'azione politica. L'azione di potere della politica non viene ritentata.

  • Il criterio era impostato per lo scale-out, ma non erano disponibili risorse sufficienti?

    Il criterio di scala imposta le dimensioni del pool e il pool continua a cercare di raggiungere tali dimensioni man mano che le risorse diventano disponibili.

  • L'operazione specificata dal criterio è ancora in esecuzione o è in attesa di essere eseguita?

    • Controllare se il pool si trova nello stato di ridimensionamento, avvio, arresto o riavvio, che indica che l'operazione del criterio è ancora in esecuzione.

    • Se un'operazione di modifica dello stato tenta di essere eseguita mentre un'operazione di modifica dello stato è già in esecuzione nello stesso pool, l'esecuzione della seconda operazione non riesce.

    • Un numero limitato di pool può modificare lo stato contemporaneamente. Se lo stato di un numero eccessivo di altri pool sta già cambiando, il pool deve attendere per iniziare a modificare lo stato. Il tempo necessario per modificare lo stato è più lungo quando sono coinvolte più istanze perché le istanze vengono avviate, arrestate o riavviate in serie.

    • Un numero limitato di pool può modificare le dimensioni contemporaneamente. Se le dimensioni di altri pool stanno già cambiando, potrebbe essere necessario attendere per iniziare la scala. Il tempo necessario per la scalabilità è più lungo quando sono coinvolte più istanze perché le istanze vengono eliminate o create in serie. L'eliminazione e la creazione delle istanze sono entrambe operazioni in background e richiedono del tempo per iniziare dopo che la dimensione del pool è stata aggiornata dal criterio.

    1. Nel menu di navigazione della Console di Compute Cloud@Customer selezionare Computazione, quindi Configurazioni scala automatica.

    2. Nella parte superiore della pagina, selezionare il compartimento contenente la configurazione a cui si desidera aggiungere un criterio.
    3. Selezionare il nome della configurazione di ridimensionamento automatico a cui si desidera aggiungere un criterio.

    4. In Risorse, selezionare Criteri scala automatica, quindi selezionare Crea criterio pianificato.
    5. Nella finestra di dialogo Crea criterio, immettere le informazioni indicate di seguito.

      • Nome: immettere un nome per il nuovo criterio di scala automatica.

      • Azione da eseguire: selezionare Ridimensiona dimensione pool o Modifica stato ciclo di vita di tutte le istanze.

        • Dimensione pool ridimensionamento: immettere il numero di istanze in base alle quali il pool viene ridimensionato all'ora pianificata.

        • Modificare lo stato del ciclo di vita di tutte le istanze: selezionare lo stato a cui tutte le istanze del pool passano all'ora pianificata.

        • Abilita pianificazione: per impostazione predefinita, la casella Pianificazione abilitata è selezionata per consentire l'esecuzione del criterio all'ora pianificata successiva. Deselezionare la casella per disabilitare questo criterio.

      • Pianificazione esecuzione: definire la pianificazione per l'implementazione di questo criterio di scala automatica. Vedere Progettazione dei criteri.

    6. Selezionare Sottometti.

  • Utilizzare il comando Creazione criteri scala automatica OCI e i parametri necessari per creare un criterio di scala automatica per la configurazione di scala automatica specificata.

    oci autoscaling policy create  --auto-scaling-configuration-id autoscaling_configuration_OCID  --from-json file://policy_definitions.json --policy-type scheduled [OPTIONS]

    Per un elenco completo dei comandi, dei flag e delle opzioni dell'interfaccia CLI, vedere Command Line Reference.

    Procedura

    1. Ottenere l'OCID della configurazione di ridimensionamento automatico in cui si desidera aggiungere questo criterio di ridimensionamento automatico: oci autoscaling configuration list

    2. Creare un file contenente le definizioni dei criteri.

      Utilizzare il seguente comando per mostrare il contenuto e il formato del file:

      $ oci autoscaling policy create \
      --generate-full-command-json-input > autoscalingPolicyCreate.json
      Nota

      Non specificare i valori per capacity min o max. Queste proprietà non si applicano alle configurazioni di scala automatica basate sulla pianificazione.

      I valori predefiniti per capacity min e max vengono visualizzati nel criterio di ridimensionamento automatico creato, ma non vengono utilizzati per il ridimensionamento automatico basato sulla pianificazione.

      Il nome visualizzato è composto da 1-255 caratteri, non deve essere univoco e può essere aggiornato.

      Utilizzare i riferimenti in Creazione di un criterio di scala automatica basato su pianificazione per informazioni sull'impostazione della pianificazione di esecuzione dei criteri. Il valore timezone deve essere UTC e quello type deve essere cron.

      Per impostazione predefinita, il criterio è abilitato.

      Il tipo di criterio deve essere scheduled.

      Il tipo di azione risorsa deve essere power e l'azione deve essere STOP, START, SOFTRESET, RESET.

      Di seguito è riportato un esempio di file di input di creazione dei criteri di ridimensionamento automatico:

      {
        [
          {
            "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"
            }
          }
        ]
      }
    3. Eseguire il comando per creare nuovi criteri per la configurazione di scala automatica specificata.

      Esempio:

      $ oci autoscaling policy create \
      --auto-scaling-configuration-id ocid1.autoscalingConfiguration.unique_ID \
      --from-json file://./salesPoolPolicies.json --policy-type scheduled

      Utilizzare il comando work-requests work-request get per controllare lo stato del comando di creazione dei criteri di ridimensionamento automatico.

  • Consulta il riferimento AutoScalingPolicy per le operazioni API che definiscono i criteri che attivano le azioni di ridimensionamento automatico e le azioni da intraprendere.

    Per informazioni sull'uso dell'API e delle richieste di firma, vedere API REST e Credenziali di sicurezza. Per informazioni sugli SDK, vedere Software Development Kits and Command Line Interface.