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 iniciar a configuração do cluster, instale o appliance do GitHub Enterprise Server na máquina virtual (VM) de cada nó, e depois configure um endereço IP.
- Em cada nó de cluster, provisione e instale o GitHub Enterprise Server. Para saber mais, confira AUTOTITLE.
- 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 . Para saber mais, confira AUTOTITLE.
- No navegador da Web, acesse .
- No prompt, carregue seu arquivo de licença e defina uma senha de gerenciamento do console. Para saber mais, confira Baixando sua licença para 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 (). Para saber mais, confira AUTOTITLE.
- No primeiro nó que foi configurado, execute . Essa ação inicializará o cluster caso haja nós no arquivo de configuração que não estão configurados.
- Execute a . Isso validará o arquivo , 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 .
Sobre o arquivo de configuração do cluster
O arquivo de configuração do cluster () define os nós no cluster e os serviços que eles executam. Para saber mais, confira AUTOTITLE.
Este exemplo de define um cluster com 11 nós.
- Dois nós, chamados <nome_dos_serviços>, executam os serviços responsáveis por responder às solicitações do cliente.
- Três nós chamados 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 executam serviços responsáveis pela funcionalidade de pesquisa.
- Três nós chamados 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 em cada nó.
- Para saber mais sobre nomes de host válidos para o GitHub Enterprise Server, confira AUTOTITLE.
- 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 e .
[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 no primeiro nó configurado. Por exemplo, usando :
ghe-data-node-1:~$ sudo vim /data/user/common/cluster.conf