Skip to main content
Publicamos actualizaciones para la documentación con frecuencia y es posible que aún se esté traduciendo esta página. Para obtener la información más reciente, consulta la documentación en inglés.

Reemplazar un nodo de agrupación

Para reemplazar un nodo GitHub Enterprise Server, debes marcar los nodos fuera de línea afectados en el archivo de configuración de la agrupación (cluster.conf) y agregar los nodos de reemplazo. Esto puede ser necesario en caso de que un nodo falle, o para agregar un nodo con más recursos a fin de aumentar el rendimiento.

Acerca del reemplazo de nodos de clúster

La topología de clúster de GitHub Enterprise Server proporciona escalado horizontal para empresas con decenas de miles de desarrolladores. GitHub recomienda la agrupación en clústeres si un único nodo principal experimentara regularmente el agotamiento de recursos. La agrupación en clústeres conlleva una planeación cuidadosa y una sobrecarga administrativa adicional. Para obtener más información, vea «Acerca de las agrupaciones».

Puedes reemplazar un nodo funcional en un clúster o puedes reemplazar un nodo que ha producido un error inesperado.

Advertencia: Para evitar conflictos, el nodo de reemplazo debe usar un nombre de host que no se haya usado antes en el clúster.

Reemplazar un nodo funcional

  1. Aprovisione e instale GitHub Enterprise Server con un nombre de host único en el nodo de reemplazo.

  2. Mediante el shell administrativo o DHCP, configure solo la dirección IP del nodo de reemplazo. No configures los otros parámetros.

  3. Para agregar el nodo de reemplazo recién aprovisionado, en cualquier nodo, cluster.conf para quitar el nodo con error y agregar el de reemplazo. Por ejemplo, este archivo cluster.conf modificado reemplaza ghe-data-node-3 por el nodo recién aprovisionado, ghe-replacement-data-node-3:

    [cluster "ghe-replacement-data-node-3"]
      hostname = ghe-replacement-data-node-3
      ipv4 = 192.168.0.7
      # ipv6 = fd12:3456:789a:1::7
      git-server = true
      pages-server = true
      mysql-server = true
      elasticsearch-server = true
      redis-server = true
      memcache-server = true
      metrics-server = true
      storage-server = true
    
  4. Desde el shell administrativo del nodo con el valor cluster.conf modificado, ejecute ghe-cluster-config-init. Esto iniciará el nodo recién agregado en la agrupación.

  5. En el mismo nodo, ejecute ghe-cluster-config-apply. Esto validará el archivo de configuración, lo copiará en cada nodo del clúster y configurará cada nodo según el archivo cluster.conf modificado.

  6. Si estás desconectando un nodo que proporciona servicios de datos, como git-server, pages-server o storage-server, evacua el nodo. Para obtener más información, vea «Evacuación de un nodo de clúster que ejecuta servicios de datos».

  7. Para marcar el nodo con errores sin conexión, en cualquier nodo, modifique el archivo de configuración del clúster (cluster.conf) en la sección del nodo correspondiente para incluir el texto offline = true.

    Por ejemplo, este valor cluster.conf modificado marcará el nodo ghe-data-node-3 como sin conexión:

      [cluster "ghe-data-node-3"]
      hostname = ghe-data-node-3
      offline = true
      ipv4 = 192.168.0.6
      # ipv6 = fd12:3456:789a:1::6
      
  8. Desde el shell administrativo del nodo donde ha modificado cluster.conf, ejecute ghe-cluster-config-apply. Esto validará el archivo de configuración, lo copiará en cada nodo de la agrupación y marcará el nodo fuera de línea.

  9. Si va a reemplazar el nodo principal de MySQL o Redis, en cluster.conf, modifique el valor mysql-master o redis-master por el nombre del nodo de reemplazo.

    Por ejemplo, en este archivo cluster.conf modificado se especifica un nodo de clúster recién aprovisionado, ghe-replacement-data-node-1 como nodo principal de MySQL y Redis:

    mysql-master = ghe-replacement-data-node-1
    redis-master = ghe-replacement-data-node-1
    

Reemplazar un nodo en una emergencia

  1. Aprovisione e instale GitHub Enterprise Server con un nombre de host único en el nodo de reemplazo.

  2. Mediante el shell administrativo o DHCP, configure solo la dirección IP del nodo de reemplazo. No configures los otros parámetros.

  3. Para marcar el nodo con errores sin conexión, en cualquier nodo, modifique el archivo de configuración del clúster (cluster.conf) en la sección del nodo correspondiente para incluir el texto offline = true.

    Por ejemplo, este valor cluster.conf modificado marcará el nodo ghe-data-node-3 como sin conexión:

      [cluster "ghe-data-node-3"]
      hostname = ghe-data-node-3
      offline = true
      ipv4 = 192.168.0.6
      # ipv6 = fd12:3456:789a:1::6
      
  4. Desde el shell administrativo del nodo donde ha modificado cluster.conf, ejecute ghe-cluster-config-apply. Esto validará el archivo de configuración, lo copiará en cada nodo de la agrupación y marcará el nodo fuera de línea.

  5. Para agregar el nodo de reemplazo recién aprovisionado, en cualquier nodo, cluster.conf para quitar el nodo con error y agregar el de reemplazo. Por ejemplo, este archivo cluster.conf modificado reemplaza ghe-data-node-3 por el nodo recién aprovisionado, ghe-replacement-data-node-3:

    [cluster "ghe-replacement-data-node-3"]
      hostname = ghe-replacement-data-node-3
      ipv4 = 192.168.0.7
      # ipv6 = fd12:3456:789a:1::7
      git-server = true
      pages-server = true
      mysql-server = true
      elasticsearch-server = true
      redis-server = true
      memcache-server = true
      metrics-server = true
      storage-server = true
    
  6. Si va a reemplazar el nodo principal de MySQL o Redis, en cluster.conf, modifique el valor mysql-master o redis-master por el nombre del nodo de reemplazo.

    Por ejemplo, en este archivo cluster.conf modificado se especifica un nodo de clúster recién aprovisionado, ghe-replacement-data-node-1 como nodo principal de MySQL y Redis:

    mysql-master = ghe-replacement-data-node-1
    redis-master = ghe-replacement-data-node-1
    
  7. Desde el shell administrativo del nodo con el valor cluster.conf modificado, ejecute ghe-cluster-config-init. Esto iniciará el nodo recién agregado en la agrupación.

  8. En el mismo nodo, ejecute ghe-cluster-config-apply. Esto validará el archivo de configuración, lo copiará en cada nodo del clúster y configurará cada nodo según el archivo cluster.conf modificado.

  9. Si estás desconectando un nodo que proporciona servicios de datos, como git-server, pages-server o storage-server, evacua el nodo. Para obtener más información, vea «Evacuación de un nodo de clúster que ejecuta servicios de datos».