Nota: o clustering de GitHub Enterprise Server deve ser configurado com HTTPS.
Instalar o GitHub Enterprise Server
- Em cada nó de cluster, provisione e instale o GitHub Enterprise Server. Para obter mais informações, confira "Como 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ó
- Conecte-se ao nó que será designado como o primário do MySQL em
cluster.conf
. Para obter mais informações, confira "Sobre o arquivo de configuração do 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 obter mais informações, confira "Como gerenciar sua licença do GitHub Enterprise". 3. No Console de Gerenciamento, defina e salve as configurações desejadas. 4. 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 obter mais informações, confira "Sobre o arquivo de configuração do 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 obter mais informações, confira "Sobre os nós de cluster".
Este exemplo de cluster.conf
define um cluster com cinco nós.
- Dois nós (chamados
ghe-app-node-\*
) executam os serviçosweb-server
ejob-server
responsáveis por responder � s solicitações do cliente. - Três nós (chamados
ghe-data-node-\*
) executam os serviços responsáveis pelo armazenamento e pela recuperação dos dados do GitHub Enterprise Server.
Os nomes dos nós podem ser qualquer nome de host válido. Os nomes são definidos como o nome do host de cada nó e serão adicionados a /etc/hosts
em cada nó, de modo que os nós possam ser resolvidos localmente entre si.
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 = 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
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