Apagar una cuchilla

En esta página se describe cómo apagar y reiniciar cualquier blade del dispositivo aislado de Google Distributed Cloud (GDC), por ejemplo, para mover el dispositivo y mantener un blade.

Antes de empezar

Detén todas las cargas de trabajo antes de continuar. Google no puede garantizar lo que ocurrirá si las cargas de trabajo están activas durante un apagado.

Si quieres apagar todas las cuchillas, sigue los pasos para apagar el dispositivo. Cuando sigas estas instrucciones, apaga solo una blade y mantén el dispositivo aislado de Google Distributed Cloud (GDC) con dos blades activas.

Requisitos previos

  1. Puedes ejecutar este runbook en un portátil o una estación de trabajo conectados a la red del dispositivo aislado de Google Distributed Cloud (GDC). También puedes conectar un portátil o una estación de trabajo para cambiar siguiendo las instrucciones de Conectar el dispositivo.
  2. Asegúrate de que tienes acceso a Kubeconfig para el clúster de administrador raíz.
  3. Define la variable de entorno KUBECONFIG correcta ejecutando export KUBECONFIG=<path to kubeconfig>.

Apagar el servidor blade

  1. Obtén la información del nodo ejecutando kubectl get nodes -A. Determina NODE_NAME de la cuchilla para apagarla.

  2. Para pausar la sincronización de BareMetalHost, ejecuta el siguiente comando para que se cierre el blade:

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

    Un ejemplo de salida de este comando es el siguiente:

    baremetalhost.metal3.io/**-**-bm** annotated
    
  3. Acordonar el nodo de destino:

    kubectl cordon NODE_NAME
    

    El resultado de ejemplo es el siguiente:

    node/**-**-bm** cordoned
    
  4. Drena el nodo de destino:

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

    Ejemplo de salida:

    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. Apaga correctamente el nodo de destino:

  6. Desactiva NODE_NAME mediante iLO:

    • Recupera las credenciales para acceder a iLO:

      1. Obtener el nombre de usuario:

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

        kubectl get secret bmc-credentials-NODE_NAME -n gpc-system -o jsonpath="{.data.password}" | base64 --decode
        
      3. Obtener la dirección BMC-IP de NODE_NAME a partir de los valores de la columna BMC-IP:

        kubectl get servers -A
        
    • Visita la dirección BMC-IP que has obtenido en el paso anterior e inicia sesión introduciendo el nombre de usuario y la contraseña que has obtenido.

    • Coloca el cursor sobre el primer botón de la fila superior. Debería mostrar Power: ON. Haz clic en él. Aparecerá un menú desplegable. Haz clic en el primer elemento, Momentary Press. El color del botón cambiará de verde a naranja, lo que significa que el nodo se está apagando. Espera a que el botón cambie de color a amarillo, lo que indica que la máquina se ha apagado. Esto tardará unos minutos.

  7. Espera 30 minutos a que se complete la conciliación.

Reiniciar el blade

En esta sección se describen los pasos para iniciar una cuchilla que se ha apagado anteriormente.

Requisitos previos

Puedes ejecutar este runbook en un portátil o una estación de trabajo conectados a la red del dispositivo aislado de Google Distributed Cloud (GDC). También puedes conectar un portátil o una estación de trabajo para cambiar siguiendo las instrucciones de Conectar el dispositivo. Asegúrate de que tienes acceso a Kubeconfig para el clúster de administrador raíz. Para definir la variable de entorno KUBECONFIG correcta, ejecuta export KUBECONFIG=<path to kubeconfig>.

Plan de acción

  1. Pulsa el botón de encendido de la cuchilla. Una vez que la cuchilla esté encendida, espera unos minutos a que se conecte el plano de control. kubectl debería poder conectarse al plano de control en menos de 30 minutos.

  2. Determina el nombre del nodo de destino ejecutando kubectl get nodes -A.

  3. Desactiva el aislamiento del nodo de destino para habilitar la programación:

    kubectl uncordon `NODE_NAME`
    
  4. Reanuda la sincronización de BareMetalHost para el nodo de destino:

    kubectl annotate bmhost -n gpc-system NODE_NAME "baremetalhost.metal3.io/paused=false" --overwrite
    
  5. Espera 30 minutos a que se complete la conciliación.