Nodos

Añade nodos al clúster y retira los que sobran sin parar el servicio.

Todos los nodos ejecutan el mismo binario. El clúster reparte réplicas y líderes entre ellos, así que añadir o quitar uno no exige mover datos a mano.

Requisitos

  • Acceso a teseladb admin en un nodo del clúster.
  • Para añadir, una máquina con el binario instalado y el puerto 27100 abierto hacia los demás nodos.

Ver los nodos

Shell
teseladb admin nodes

Añadir un nodo

Shell
teseladb admin token create --ttl 1h
teseladb start --dbpath /var/lib/teseladb --join node-01:27100 --enroll-token <token>

La primera orden va en cualquier nodo del clúster y crea un token de alta de un solo uso; la segunda arranca el binario en la máquina nueva con ese token. El nodo nuevo recibe su certificado firmado por la CA del clúster y empieza a recibir réplicas de rangos.

Drenar un nodo

Shell
teseladb admin node drain <node_id>

No puedes drenar el último nodo activo. Drena el nodo antes de retirar su máquina. El nodo pasa a Draining y el equilibrador se lleva sus réplicas y sus liderazgos y, al final, su voto en Group 0; cuando ya no le queda ninguna réplica, cierra su puerto de clientes y los drivers van a otro nodo.

Retirar un nodo

Shell
teseladb admin node remove <node_id>

Retira el nodo cuando ya no tenga réplicas ni vote en Group 0. Si aún le quedan réplicas, la orden falla, dice cuántas le quedan y te pide terminar el drenado antes.

Rotar el certificado de un nodo

Shell
teseladb admin cert rotate

Sin reiniciarse, el nodo genera una clave y un certificado nuevos firmados por la CA del clúster y empieza a usarlos.

Comprobar

teseladb admin nodes muestra el nodo nuevo como activo y, pasado un rato, con réplicas. Un nodo drenado aparece como Draining hasta que se queda sin réplicas. En cuanto lo retiras, desaparece de la lista.

Problemas frecuentes

  • node drain falla con el último nodo activo, porque un clúster necesita al menos un nodo que sirva.
  • node remove falla y dice cuántas réplicas le quedan al nodo. Espera a que termine el drenado y vuelve a intentarlo.

Ver también