Esta versión de GitHub Enterprise se discontinuó el 2021-06-09. No se realizarán lanzamientos de patch, ni siquiera para problemas de seguridad críticos. Para obtener un mejor desempeño, más seguridad y nuevas características, actualiza a la última versión de GitHub Enterprise. Para obtener ayuda con la actualización, contacta al soporte de GitHub Enterprise.

Inicializar la agrupación

Una agrupación de Servidor de GitHub Enterprise se debe configurar con una licencia y se debe inicializar mediante un shell administrativo (SSH).

Nota: La agrupación de Servidor de GitHub Enterprise se debe configurar con HTTPS.

Instalar Servidor de GitHub Enterprise

  1. En cada nodo de agrupación, suministra e instala Servidor de GitHub Enterprise. Para obtener más información, consulta "Configurar una instancia Servidor de GitHub Enterprise ."
  2. Mediante el shell administrativo o DHCP, configura solo la dirección IP de cada nodo. No configures los otros parámetros.

Configurar el primer nodo

  1. Realiza una conexión con el nodo que será designado como mysqu.-master en clussster.conf. Para obtener más información, consulta "Acerca del archivo de configuración de agrupación."
  2. En tu navegador web, visita https://<ip address>:8443/setup/.
  3. En el prompt, carga tu archivo de licencia y configura una contraseña de consola de administración. Para obtener más información, consulta la sección "Administrar tu licencia de GitHub Enterprise".
  4. En la Consola de administración, configura y guarda a configuración que desees.
  5. La instancia se reiniciará automáticamente.

Inicializar la agrupación

Para inicializar la agrupación, necesitas un archivo de configuración de agrupación (cluster.conf). Para obtener más información, consulta "Acerca del archivo de configuración de agrupación".

  1. Desde el primer nodo que se configuró, ejecuta ghe-cluster-config. init. De esta manera, se inicializará la agrupación si existen nodos en el archivo de configuración de la agrupación que no están configurados.
  2. Ejecuta ghe-cluster-config-apply. Esto validará el archivo cluster.conf, aplicará la configuración a cada archivo del nodo y traerá los servicios configurados en cada nodo.

Para comprobar el estado de una agrupación en funcionamiento, usa el comando ghe-cluster-status.

Acerca del archivo de configuración de la agrupación

El archivo de configuración de la agrupación (cluster.conf) define los nodos en la agrupación, y los servicios que ejecutan. Para obtener más información, consulta "Acerca de los nodos de agrupación".

Este ejemplo cluster.conf define una agrupación con cinco nodos.

  • Dos nodos (llamados ghe-app-node-\*) ejecutan los servicios web-server y job-server responsables de atender las solicitudes de los clientes.
  • Tres nodos (llamados ghe-data-node-\*) ejecutan los servicios responsables del almacenamiento y la recuperación de los datos de Servidor de GitHub Enterprise.

Los nombres de los nodos pueden ser cualquier nombre de host válido que elijas. Los nombres son conjuntos de nombres de host de cada nodo y también se agregarán a /etc/hosts en cada nodo, de manera que los nodos puedan ser resolubles localmente entre sí.

Especifica el primer nodo de agrupación que configuraste como MySQL principal mediante mysql-server y mysql-master.

[cluster]
  mysql-master = ghe-data-node-1
  redis-master = ghe-data-node-1
  primary-datacenter = default
[cluster "ghe-app-node-1"]
  hostname = ghe-app-node-1
  ipv4 = 192.168.0.2
  # ipv6 = fd12:3456:789a:1::2
  web-server = true
  job-server = true
[cluster "ghe-app-node-2"]
  hostname = ghe-app-node-2
  ipv4 = 192.168.0.3
  # ipv6 = fd12:3456:789a:1::3
  web-server = true
  job-server = true
[cluster "ghe-data-node-1"]
  hostname = ghe-data-node-1
  ipv4 = 192.168.0.4
  # ipv6 = fd12:3456:789a:1::4
  consul-server = true
  consul-datacenter = default
  git-server = true
  pages-server = true
  mysql-server = true
  elasticsearch-server = true
  redis-server = true
  memcache-server = true
  metrics-server = true
  storage-server = true
[cluster "ghe-data-node-2"]
  hostname = ghe-data-node-2
  ipv4 = 192.168.0.5
  # ipv6 = fd12:3456:789a:1::5
  consul-server = true
  consul-datacenter = default
  git-server = true
  pages-server = true
  mysql-server = true
  elasticsearch-server = true
  redis-server = true
  memcache-server = true
  metrics-server = true
  storage-server = true
[cluster "ghe-data-node-3"]
  hostname = ghe-data-node-3
  ipv4 = 192.168.0.6
  # ipv6 = fd12:3456:789a:1::6
  consul-server = true
  consul-datacenter = default
  git-server = true
  pages-server = true
  mysql-server = true
  elasticsearch-server = true
  redis-server = true
  memcache-server = true
  metrics-server = true
  storage-server = true

Crea el archivo /data/user/common/cluster.conf en el primer nodo configurado. Por ejemplo, usando vim:

ghe-data-node-1:~$ sudo vim /data/user/common/cluster.conf