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_eviction
preterida, adicionada na versão 8, agora significa o mesmo cyclecloud.monitor_scheduled_events
que .
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.