Desligar um blade

Esta página descreve como desligar e reiniciar qualquer blade do dispositivo isolado do Google Distributed Cloud (GDC), por exemplo, para mover o dispositivo e fazer manutenção em uma blade.

Antes de começar

Interrompa todas as cargas de trabalho antes de continuar. O Google não garante o que vai acontecer se as cargas de trabalho estiverem ativas durante um desligamento.

Se quiser desligar todas as lâminas, siga as instruções em Desligar o dispositivo. Ao seguir estas instruções, desligue apenas um blade e mantenha o appliance isolado do Google Distributed Cloud (GDC) em execução com dois blades ativos.

Pré-requisitos

  1. É possível executar esse runbook em um laptop ou estação de trabalho conectado à rede do appliance isolado do Google Distributed Cloud (GDC). Como alternativa, conecte um laptop ou uma estação de trabalho ao interruptor seguindo Conectar o dispositivo.
  2. Verifique se você tem acesso ao Kubeconfig do cluster root-admin.
  3. Defina a variável de ambiente KUBECONFIG correta executando export KUBECONFIG=<path to kubeconfig>.

Desligar a lâmina

  1. Para conferir as informações do nó, execute kubectl get nodes -A. Determine o NODE_NAME da lâmina a ser desligada.

  2. Pause a sincronização do BareMetalHost executando o seguinte comando para desligar o blade:

    kubectl annotate bmhost -n gpc-system NODE_NAME "baremetalhost.metal3.io/paused=true" --overwrite
    

    Exemplo de saída desse comando:

    baremetalhost.metal3.io/**-**-bm** annotated
    
  3. Restrinja o nó de destino:

    kubectl cordon NODE_NAME
    

    O exemplo de saída é:

    node/**-**-bm** cordoned
    
  4. Drene o nó de destino:

    kubectl drain NODE_NAME --delete-emptydir-data --grace-period 900 --ignore-daemonsets --disable-eviction
    

    Exemplo de resposta:

    node/**-**-bm** already cordoned
    WARNING: ignoring DaemonSet-managed Pods: kube-system/anetd-krj2z, kube-system/etcd-defrag-xh469, kube-system/ipam-controller-manager-2f4dz, kube-system/istio-cni-node-cgqv4, kube-system/kube-proxy-5mwf2, kube-system/localpv-mn2jh, kube-system/metallb-speaker-6l7sv, mon-system/mon-node-exporter-backend-nd8mp, netapp-trident/netapp-trident-node-linux-rrlmd, obs-system/anthos-audit-logs-forwarder-tpfqv, obs-system/anthos-log-forwarder-npjh4, obs-system/kube-control-plane-metrics-proxy-wp8nh, obs-system/log-failure-detector-crbnv, obs-system/oplogs-forwarder-sqwvj, vm-system/macvtap-v9pgp, vm-system/virt-handler-86khx
    pod/grafana-0 deleted
    pod/capi-kubeadm-bootstrap-controller-manager-1.30.400-gke.136lvgtf deleted
    pod/grafana-0 deleted
    pod/grafana-proxy-server-86d8fc4758-mkc4f deleted
    .
    .
    .
    
  5. Desligue o nó de destino normalmente:

  6. Desative o NODE_NAME usando o iLO:

    • Recupere as credenciais para acessar o iLO:

      1. Encontre o nome de usuário:

        kubectl get secret bmc-credentials-NODE_NAME -n gpc-system -o jsonpath="{.data.username}" | base64 --decode
        
      2. Recupere a senha:

        kubectl get secret bmc-credentials-NODE_NAME -n gpc-system -o jsonpath="{.data.password}" | base64 --decode
        
      3. Recupere o endereço BMC-IP de NODE_NAME com base nos valores da coluna BMC-IP:

        kubectl get servers -A
        
    • Acesse o endereço BMC-IP obtido na etapa anterior e faça login inserindo o nome de usuário e a senha.

    • Passe o cursor sobre o primeiro botão na linha de cima. Ela vai mostrar Power: ON. Clique nele. Um menu suspenso vai aparecer. Clique no primeiro item, chamado Momentary Press. A cor do botão vai mudar de verde para laranja, indicando que o nó está sendo desligado. Aguarde até que o botão mude de cor para amarelo, indicando que a máquina foi desligada. Isso leva alguns minutos.

  7. Aguarde 30 minutos para que a reconciliação seja concluída.

Reiniciar o blade

Esta seção descreve as etapas para inicializar uma blade que foi desligada anteriormente.

Pré-requisitos

É possível executar esse runbook em um laptop ou estação de trabalho conectado à rede do appliance isolado do Google Distributed Cloud (GDC). Como alternativa, conecte um laptop ou uma estação de trabalho ao interruptor seguindo Conectar o dispositivo. Verifique se você tem acesso ao Kubeconfig do cluster root-admin. E defina a variável de ambiente KUBECONFIG correta executando export KUBECONFIG=<path to kubeconfig>.

Plano de ação

  1. Pressione o botão liga/desliga na lâmina. Depois que a lâmina for ligada, aguarde alguns minutos para que o plano de controle se conecte. kubectl precisa se conectar ao plano de controle em menos de 30 minutos.

  2. Determine o nome do nó de destino executando kubectl get nodes -A.

  3. Remova a restrição do nó de destino para ativar o agendamento:

    kubectl uncordon `NODE_NAME`
    
  4. Retome a sincronização de BareMetalHost para o nó de destino:

    kubectl annotate bmhost -n gpc-system NODE_NAME "baremetalhost.metal3.io/paused=false" --overwrite
    
  5. Aguarde 30 minutos para que a reconciliação seja concluída.