Neste documento, descrevemos como visualizar as operações de manutenção do host usando a linha de comando e o painel de manutenção do GKE.
A visualização das operações de manutenção do host pode ajudar a reduzir as interrupções da carga de trabalho, especialmente para um cluster do GKE de longa duração com cargas de trabalho que podem ser interrompidas devido a interrupções periódicas da infraestrutura.
Para mais detalhes sobre a manutenção do host no GKE, consulte Entender como fazer a manutenção do host no GKE.
Monitorar notificações de manutenção
Antes que uma VM tenha um evento de manutenção programado,
o Compute Engine envia notificações para todas as VMs. Essas notificações informam o início da janela de manutenção do Compute Engine. Quando uma manutenção futura é programada pela VM, mas não está ativa, o GKE adiciona scheduled-maintenance-time ao rótulo do nó.
Para monitorar e detectar eventos de manutenção futuros, é necessário visualizar as notificações do GKE e do Compute Engine.
Conferir a manutenção futura no Compute Engine
O Compute Engine emite notificações quando os nós e as VMs subjacentes são programados para eventos de host disruptivos, e quando esses eventos ficam ativos. As notificações incluem informações sobre o horário de início planejado, o tipo de evento e outros detalhes.
Conferir a manutenção futura no GKE
No GKE versão 1.31.1-gke.2008000 e mais recente, e para tipos de máquinas específicos, é possível monitorar eventos de manutenção futuros.
- Para tipos de máquinas com GPUs ou TPUs anexadas, 1.31.1-gke.2008000 ou mais recente
- Para tipos de máquinas Z3 com mais de 18 TiB de SSD, 1.32.4-gke.1376000 ou mais recente
- Para tipos de máquinas H4D, 1.32.6-gke.1060000 ou mais recente
- Para
c4a-highmem-96-metal, 1.35.0-gke.2232000 ou mais recente
Para conferir os próximos eventos de manutenção, faça o seguinte:
Consulte as notificações no nível do nó. Para isso, execute o seguinte comando:
kubectl get nodes -l cloud.google.com/scheduled-maintenance-time \ -L cloud.google.com/scheduled-maintenance-timeO resultado será assim:
NAME STATUS SCHEDULED-MAINTENANCE-TIME <gke-accelerator-node-name> Ready 1733083200 <gke-accelerator-node-name> Ready 1733083200 [...]A coluna
SCHEDULED-MAINTENANCE-TIMErepresenta segundos, que são exibidos no formato de tempo da época Unix.Para famílias de máquinas otimizadas para aceleradores que oferecem suporte a manutenção avançada, é possível acessar o endpoint
upcoming-maintenanceque fornece informações sobre eventos de manutenção programados e iniciados.
Conferir eventos do Kubernetes para manutenção do host
No GKE versão 1.35 e mais recente, os eventos do Kubernetes que rastreiam o ciclo de vida da manutenção do host são emitidos. Esses eventos do Kubernetes oferecem visibilidade granular das janelas programadas do Compute Engine, das operações em andamento e dos casos extremos, como reparos ou cancelamentos, permitindo monitorar interrupções diretamente no ambiente do Kubernetes.
É possível conferir esses eventos usando ferramentas padrão do Kubernetes ou pelo Cloud Logging:
Para conferir eventos de manutenção recentes, use o seguinte comando
kubectl:kubectl get events -n kube-system --field-selector involvedObject.kind=NodeOs eventos do Kubernetes são mantidos no cluster por 60 minutos. Portanto, esse comando gera apenas esses eventos recentes por nó.
Para conferir eventos no Cloud Logging, faça o seguinte:
Acesse a página Análise de registros no Cloud de Confiance console do:
Use a seguinte consulta:
resource.type="k8s_node" log_id("events") jsonPayload.metadata.annotations."maintenance.gke.io/category"="HostMaintenance"
Eventos do ciclo de vida da manutenção
Os eventos do ciclo de vida da manutenção são emitidos em recursos de nós do Kubernetes. A tabela a seguir descreve os eventos emitidos pelo GKE durante o ciclo de vida da manutenção do host do Compute Engine:
| Motivo | Descrição |
|---|---|
MaintenanceWindowScheduled |
Uma janela de manutenção do host do Compute Engine foi programada para o nó |
MaintenanceWindowCancelled |
Uma janela de manutenção do host do Compute Engine foi limpa no nó |
MaintenanceWindowRescheduled |
A janela de manutenção do host do Compute Engine programada anteriormente foi movida e o horário de início da manutenção foi atualizado |
CustomerTriggeredMaintenance |
A manutenção do host do Compute Engine foi acionada manualmente pelo GKE |
MaintenanceWindowStarted |
A manutenção do host do Compute Engine foi iniciada |
TerminateOnHostMaintenance |
Emitido quando o Compute Engine emite o sinal de encerramento (TERMINATE_ON_HOST_MAINTENANCE). Se o encerramento normal estiver ativado, o GKE isolará o nó e programará a remoção do pod (SIGTERM). As cargas de trabalho recebem um aviso de 5 a 60 minutos, dependendo do nível da máquina. |
PodEvictionComplete |
Todos os pods foram removidos do nó |
MaintenanceWindowCleared |
A manutenção do host do Compute Engine foi concluída e o nó voltou ao estado pronto. |
Informações do payload do evento
Se as informações sobre um evento de manutenção futuro estiverem disponíveis pelo Compute Engine, cada evento também incluirá um payload contendo dados de anotação com as seguintes informações:
- Detalhes da janela do Compute Engine:inclui
windowStartTime,windowEndTimeelatestWindowStartTime. - Metadados de manutenção: o status do ciclo de manutenção no
momento do evento, o motivo da manutenção (o motivo pode ser listado como
SCHEDULEDouUNSCHEDULED) e se a janela do Compute Engine pode ser reprogramada. - Metadados do Kubernetes:inclui Cluster_name, nodepool_name e node_name.
Visualização das operações de manutenção do host no painel de manutenção do GKE
O painel de manutenção do GKE oferece uma visão consolidada das operações de manutenção do host. O painel oferece visibilidade abrangente das atividades de manutenção nos níveis de cluster, pool de nós e nó.
O painel é criado na Análise de observabilidade. Ele mostra ciclos de manutenção, status de nós e métricas históricas de tempo de inatividade.
A seguir
- Saiba como gerenciar a interrupção de nós durante a manutenção do host.
- Saiba como realizar a manutenção do host para nós que executam cargas de trabalho de acelerador.
- Saiba mais sobre as janelas de manutenção e exclusões do GKE.