Sobre a inicialização de um cluster do GitHub Enterprise Server
Para implantar um cluster do GitHub Enterprise Server no ambiente, você precisa instalar o GitHub Enterprise Server, carregar uma licença habilitada para cluster, configurar o primeiro nó e inicializar esse nó com um arquivo de configuração.
Observação
O clustering de GitHub Enterprise Server deve ser configurado com HTTPS.
Instalar o GitHub Enterprise Server
Para começar a configurar o cluster, instale o dispositivo do GitHub Enterprise Server na VM (máquina virtual) de cada nó e configure um endereço IP.
- Em cada nó de cluster, provisione e instale o GitHub Enterprise Server. Para saber mais, confira Configurar uma instância do GitHub Enterprise Server.
 - Usando o shell administrativo ou o DHCP, configure apenas o endereço IP de cada nó. Não altere nenhuma outra configuração.
 
Configurar o primeiro nó
No nó que atuará como nó MySQL primário, instale a licença do GitHub Enterprise Server.
- Conecte-se ao nó que será designado como o primário do MySQL em 
cluster.conf. Para saber mais, confira Inicializar o cluster. - No navegador da Web, acesse 
https://<ip address>:8443/setup/. - No prompt, carregue seu arquivo de licença e defina uma senha de gerenciamento do console. Para saber mais, confira Fazendo o download da sua licença para o GitHub Enterprise.
 - No Console de Gerenciamento, defina e salve as configurações desejadas.
 - A instância será reiniciada automaticamente.
 
Inicializar o cluster
Para inicializar o cluster, você precisa ter um arquivo de configuração do cluster (cluster.conf). Para saber mais, confira Inicializar o cluster.
- No primeiro nó que foi configurado, execute 
ghe-cluster-config-init. Essa ação inicializará o cluster caso haja nós no arquivo de configuração que não estão configurados. - Execute 
ghe-cluster-config-apply. Isso validará o arquivocluster.conf, aplicará a configuração a cada arquivo de nó e apresentará os serviços configurados em cada nó. 
Para verificar o status de um cluster em execução, use o comando ghe-cluster-status.
Sobre o arquivo de configuração do cluster
O arquivo de configuração do cluster (cluster.conf) define os nós no cluster e os serviços que eles executam.
Para saber mais, confira Sobre nós de cluster.
Este exemplo de cluster.conf define um cluster com 11 nós.
- Dois nós chamados 
ghes-front-end-node-\*executam os serviços responsáveis por responder às solicitações do cliente. - Três nós chamados 
ghes-database-node-\*executam serviços responsáveis pelo armazenamento, pela recuperação e pela replicação de dados de banco de dados. - Três nós chamados 
ghes-search-node-\*executam serviços responsáveis pela funcionalidade de pesquisa. - Três nós chamados 
ghes-storage-node-\*executam serviços responsáveis pelo armazenamento, pela recuperação e pela replicação de dados. 
Você deve escolher um nome de host válido e exclusivo e um endereço IPv4 para cada nó. Para garantir que os nós sejam localmente resolvíveis uns para os outros, o GitHub Enterprise Server adicionará um registro para o nome de host de cada nó a /etc/hosts em cada nó.
- Para saber mais sobre nomes de host válidos para o GitHub Enterprise Server, confira Configurando o nome do host para sua instância.
 - Cada endereço IPv4 deve ser um endereço em uma rede privada. Consulte RFC 1918 no site da IETF.
 
Especifique o primeiro nó de cluster que você configurou como o primário do MySQL por meio de mysql-server e mysql-master.
[cluster]
  mysql-master = ghes-database-node-1
  redis-master = ghes-database-node-1
  primary-datacenter = primary
[cluster "ghes-front-end-node-1"]
  hostname = ghes-front-end-node-1
  ipv4 = 192.168.0.2
  # ipv6 = fd12:3456:789a:1::2
  consul-datacenter = primary
  datacenter = primary
  web-server = true
  job-server = true
  memcache-server = true
[cluster "ghes-front-end-node-2"]
  hostname = ghes-front-end-node-2
  ipv4 = 192.168.0.3
  # ipv6 = fd12:3456:789a:1::3
  consul-datacenter = primary
  datacenter = primary
  web-server = true
  job-server = true
  memcache-server = true
[cluster "ghes-database-node-1"]
  hostname = ghes-database-node-1
  ipv4 = 192.168.0.4
  # ipv6 = fd12:3456:789a:1::4
  consul-datacenter = primary
  datacenter = primary
  consul-server = true
  mysql-server = true
  redis-server = true
[cluster "ghes-database-node-2"]
  hostname = ghes-database-node-2
  ipv4 = 192.168.0.5
  # ipv6 = fd12:3456:789a:1::5
  consul-datacenter = primary
  datacenter = primary
  consul-server = true
  mysql-server = true
  redis-server = true
[cluster "ghes-database-node-3"]
  hostname = ghes-database-node-3
  ipv4 = 192.168.0.6
  # ipv6 = fd12:3456:789a:1::6
  consul-datacenter = primary
  datacenter = primary
  consul-server = true
  mysql-server = true
  redis-server = true
[cluster "ghes-search-node-1"]
  hostname = ghes-search-node-1
  ipv4 = 192.168.0.7
  # ipv6 = fd12:3456:789a:1::7
  consul-datacenter = primary
  datacenter = primary
  elasticsearch-server = true
[cluster "ghes-search-node-2"]
  hostname = ghes-search-node-2
  ipv4 = 192.168.0.8
  # ipv6 = fd12:3456:789a:1::8
  consul-datacenter = primary
  datacenter = primary
  elasticsearch-server = true
[cluster "ghes-search-node-3"]
  hostname = ghes-search-node-3
  ipv4 = 192.168.0.9
  # ipv6 = fd12:3456:789a:1::9
  consul-datacenter = primary
  datacenter = primary
  elasticsearch-server = true
[cluster "ghes-storage-node-1"]
  hostname = ghes-storage-node-1
  ipv4 = 192.168.0.10
  # ipv6 = fd12:3456:789a:1::10
  consul-datacenter = primary
  datacenter = primary
  git-server = true
  pages-server = true
  storage-server = true
  metrics-server = true
[cluster "ghes-storage-node-2"]
  hostname = ghes-storage-node-2
  ipv4 = 192.168.0.11
  # ipv6 = fd12:3456:789a:1::11
  consul-datacenter = primary
  datacenter = primary
  git-server = true
  pages-server = true
  storage-server = true
  metrics-server = true
[cluster "ghes-storage-node-3"]
  hostname = ghes-storage-node-3
  ipv4 = 192.168.0.12
  # ipv6 = fd12:3456:789a:1::12
  consul-datacenter = primary
  datacenter = primary
  git-server = true
  pages-server = true
  storage-server = true
  metrics-server = true
Crie o arquivo /data/user/common/cluster.conf no primeiro nó configurado. Por exemplo, usando vim:
ghe-data-node-1:~$ sudo vim /data/user/common/cluster.conf