Spegnere una lama

Questa pagina descrive come spegnere e riavviare una qualsiasi lama dell'appliance air-gapped Google Distributed Cloud (GDC), ad esempio per spostare il dispositivo per la manutenzione di una lama.

Prima di iniziare

Assicurati di arrestare tutti i workload prima di procedere. Google non può garantire cosa succederà se i carichi di lavoro sono attivi durante un arresto.

Se vuoi spegnere tutte le lame, segui la procedura descritta in Spegnere il dispositivo. Quando segui queste istruzioni, spegni solo una lama e mantieni in esecuzione l'appliance Google Distributed Cloud (GDC) air-gapped con due lame attive.

Prerequisiti

  1. Puoi eseguire questo runbook su un laptop o una workstation connessi alla rete dell'appliance air-gap di Google Distributed Cloud (GDC). In alternativa, puoi connettere un laptop o una workstation allo switch seguendo la procedura descritta in Connettere il dispositivo.
  2. Assicurati di avere accesso a Kubeconfig per il cluster root-admin.
  3. Imposta la variabile di ambiente KUBECONFIG corretta eseguendo export KUBECONFIG=<path to kubeconfig>.

Chiudere la lama

  1. Ottieni le informazioni sul nodo eseguendo kubectl get nodes -A. Determina NODE_NAME della lama da spegnere.

  2. Metti in pausa la sincronizzazione di BareMetalHost eseguendo il seguente comando per arrestare la lama:

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

    Un output di esempio di questo comando è:

    baremetalhost.metal3.io/**-**-bm** annotated
    
  3. Contrassegna il nodo di destinazione come non pianificabile:

    kubectl cordon NODE_NAME
    

    L'output di esempio è:

    node/**-**-bm** cordoned
    
  4. Svuota il nodo di destinazione:

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

    Esempio di output:

    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. Arresta in modo controllato il nodo di destinazione:

  6. Disattiva NODE_NAME utilizzando iLO:

    • Recupera le credenziali per accedere a iLO:

      1. Ottieni il nome utente:

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

        kubectl get secret bmc-credentials-NODE_NAME -n gpc-system -o jsonpath="{.data.password}" | base64 --decode
        
      3. Recupera l'indirizzo BMC-IP per NODE_NAME dai valori nella colonna BMC-IP:

        kubectl get servers -A
        
    • Visita l'indirizzo BMC-IP ottenuto nel passaggio precedente e accedi inserendo il nome utente e la password ottenuti.

    • Passa il mouse sopra il primo pulsante nella riga superiore. Dovrebbe visualizzare Power: ON. Fai clic. Viene visualizzato un menu a discesa. Fai clic sul primo elemento etichettato Momentary Press. Il colore del pulsante cambierà da verde ad arancione, il che significa che il nodo si sta spegnendo. Attendi che il colore del pulsante diventi giallo, a indicare che la macchina è spenta. Ci vorranno alcuni minuti.

  7. Attendi 30 minuti per il completamento della riconciliazione.

Riavvia la lama

Questa sezione descrive i passaggi per avviare una lama che è stata arrestata in precedenza.

Prerequisiti

Puoi eseguire questo runbook su un laptop o una workstation connessi alla rete dell'appliance air-gap di Google Distributed Cloud (GDC). In alternativa, puoi connettere un laptop o una workstation allo switch seguendo la procedura descritta in Connettere il dispositivo. Assicurati di avere accesso a Kubeconfig per il cluster root-admin. e imposta la variabile di ambiente KUBECONFIG corretta eseguendo export KUBECONFIG=<path to kubeconfig>.

Piano d'azione

  1. Premi il tasto di accensione sulla lama. Una volta accesa la lama, attendi qualche minuto per la connessione del control plane. kubectl dovrebbe essere in grado di connettersi al piano di controllo in meno di 30 minuti.

  2. Determina il nome del nodo di destinazione eseguendo kubectl get nodes -A.

  3. Rimuovi il nodo di destinazione per abilitare la pianificazione:

    kubectl uncordon `NODE_NAME`
    
  4. Riprendi la sincronizzazione di BareMetalHost per il nodo di destinazione:

    kubectl annotate bmhost -n gpc-system NODE_NAME "baremetalhost.metal3.io/paused=false" --overwrite
    
  5. Attendi 30 minuti per il completamento della riconciliazione.