Skip to main content

Acerca de los nodos de agrupación

En un clúster de GitHub Enterprise Server, los nodos son máquinas virtuales individuales que ejecutan el software GitHub Enterprise Server que componen la instancia. Cada nodo ejecuta un conjunto de servicios.

¿Quién puede utilizar esta característica?

GitHub determina la idoneidad para la agrupación en clústeres y debe habilitar la configuración de la licencia de la instancia. 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».

Acerca de los nodos de clúster GitHub Enterprise Server

Cada nodo de un clúster GitHub Enterprise Server es una máquina virtual (VM) que ejecuta el software GitHub Enterprise Server. Antes de implementar un clúster, puedes revisar los requisitos de hardware, los servicios necesarios y las recomendaciones de diseño.

Note

La agrupación en clústeres de GitHub Enterprise Server se debe configurar con HTTPS.

Requisitos de hardware

Cada nodo debe tener un volumen raíz, así como un volumen de datos separado. Estas son las recomendaciones mínimas. Es posible que se requieran más recursos según su uso, como la actividad del usuario y las integraciones seleccionadas.

ServiciosMínimo de memoria requeridaMínimo de espacio libre de volumen de datos requerido
job-server,
memcache-server,
web-server
14 GB1 GB
consul-server,
mysql-server,
redis-server
14 GB10 GB
git-server,
metrics-server,
pages-server,
storage-server
14 GB10 GB
elasticsearch-server14 GB10 GB

Servicios requeridos para agrupamiento

GitHub Enterprise Server está compuesto por un conjunto de servicios. En un clúster, estos servicios se ejecutan en varios nodos y la instancia equilibra las solicitudes entre los nodos. La instancia almacena automáticamente copias redundantes de datos en nodos independientes. La mayoría de los servicios son pares iguales con otras instancias del mismo servicio. Las excepciones a esta distribución son los servicios mysql-server y redis-server, que funcionan con un único nodo principal con uno o varios nodos de réplica.

Para una redundancia adecuada, usa estos nodos mínimos para poner en funcionamiento cada servicio.

Note

Los requisitos de escalado del entorno dependen de muchos factores, incluido el tamaño y número de repositorios, el número de usuarios y la utilización general.

Ejemplo de configuración del clúster

En el ejemplo siguiente se muestra una configuración mínima del clúster, que incluye 11 nodos que ejecutan los servicios necesarios.

NivelesServiciosMínimo de nodos requeridos
Front-endjob-server,
memcache-server,
web-server
2
Base de datosconsul-server,
mysql-server,
redis-server
3
Storagegit-server,
metrics-server,
pages-server,
storage-server
3
Buscarelasticsearch-server3

Recomendaciones de diseño de agrupación

La agrupación permite que los servicios que constituyen GitHub Enterprise Server experimenten un aumento gradual independientemente de los demás. Esta flexibilidad puede usarse para diseñar e implementar una agrupación que se adapta a las organizaciones con diferentes requisitos de escalabilidad. Por ejemplo, es posible que algunas organizaciones necesiten una mayor capacidad de almacenamiento para extracciones frecuentes o de gran tamaño, pero el uso del servidor web puede ser relativamente bajo. Otra organización puede tener un buen rendimiento con menos recursos de almacenamiento, pero necesitar muchos nodos que ejecuten pages-server o elasticsearch-server. Hay muchas combinaciones diferentes posibles. Trabaja con tu representante de cuenta para determinar la mejor configuración de agrupación para tus necesidades específicas.

  • Esparcir nodos redundantes por todo el hardware independiente. Si compartes su CPU, memoria o dispositivos de almacenamiento, reducirás el rendimiento e introducirás puntos de falla únicos. Los componentes de trabajo en red compartidos también pueden reducir la capacidad y aumentar el riesgo de pérdida de conectividad en caso de una interrupción.
  • Uso de almacenamiento rápido. Por lo general, las redes del área de almacenamiento (SAN, por sus siglas en inglés) se optimizan para obtener una máxima utilización de espacio, disponibilidad y tolerancia a fallas, y no un rendimiento absoluto. La agrupación de GitHub Enterprise Server brinda redundancia y disponibilidad, y ofrecerá un mejor rendimiento en el almacenamiento más rápido disponible. Se recomienda el almacenamiento SSD local.