Compartilhar via


Usando eventos agendados

A partir da 8.2.2, o CycleCloud pode aproveitar eventos agendados para VMs. Esse recurso permite que você coloque um script em sua VM que será executado automaticamente quando ocorrer um dos eventos com suporte.

Invocando um script quando ocorrem eventos

O agente jetpack no nó escuta automaticamente os eventos. Quando ocorre, ele procura no diretório de scripts (/opt/cycle/jetpack/scripts no Linux, C:\cycle\jetpack\scripts no Windows) um script nomeado para corresponder ao evento. Se ele encontrar um script, ele o executará e adiará o evento até que o script seja bem-sucedido (ou o tempo limite do evento será decorrido e o Azure agendará o evento). Depois que o script for encerrado com êxito, o evento será reconhecido no Azure para que a ação subjacente (por exemplo, uma reinicialização) possa acontecer imediatamente.

Observação

Eventos para os quais não há scripts serão automaticamente reconhecidos pelo CycleCloud quando o monitoramento estiver habilitado, para garantir que eventos como reinicializações não sejam desnecessariamente atrasados. Se você tiver outro processo personalizado que já monitora eventos, o monitoramento de eventos poderá ser desabilitado. Observe que isso significa que o CycleCloud não receberá notificação de remoções pontuais.

O monitoramento de eventos agendados está ativado por padrão, mas pode ser desabilitado definindo o seguinte em um nó ou nodearray:

[[[configuration]]]
cyclecloud.monitor_scheduled_events = false

A configuração cyclecloud.monitor_spot_evictionpreterida, adicionada na versão 8, agora significa o mesmo cyclecloud.monitor_scheduled_eventsque .

Eventos com suporte

Evento Descrição Linux Script Windows Script
Preempt A VM spot está sendo removida onPreempt.sh onPreempt.bat
Terminate A VM está agendada para ser excluída (opcional) onTerminate.sh onTerminate.bat
Reboot A VM está agendada para ser reinicializada onReboot.sh onReboot.bat
Reimplantar A VM está agendada para migrar para outro host onRedeploy.sh onRedeploy.bat
Congelamento A VM está agendada para pausar por alguns segundos onFreeze.sh onFreeze.bat

Encerrar Notificação

O CycleCloud dá suporte à habilitação da Notificação de Término em VMs de conjunto de dimensionamento (por exemplo, executar nós). Para fazer isso, defina EnableTerminateNotification como true no nodearray. Isso o habilitará para conjuntos de dimensionamento criados para essa nodearray. Para substituir o tempo limite permitido, você pode definir TerminateNotificationTimeout como uma nova hora. Por exemplo, em um modelo de cluster:

[[nodearray execute]]
EnableTerminateNotification = true
TerminateNotificationTimeout = 10

Sem EnableTerminateNotification definido como true, as VMs do conjunto de dimensionamento não receberão um evento De encerramento.