Nota: GitHub Enterprise Server o clustering 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, consulte "Configurar instância do GitHub Enterprise Server".
- Usando o shell administrativo ou DHCP, configure somente o endereço IP de cada nó. Não altere outras configurações.
Configurar o primeiro nó
- Conecte-se ao nó que será designado como principal no MySQL no cluster.conf. Para obter mais informações, consulte "Sobre o arquivo de configuração do cluster".
- No navegador, 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, consulte "Gerenciar a sua licença para GitHub Enterprise."
- No Console de gerenciamento, configure e salve as configurações desejadas.
- A instância será reiniciada automaticamente.
Inicializar o cluster
Para inicializar o cluster, você precisa de um arquivo de configuração de cluster (cluster.conf). Para obter mais informações, consulteSobre o arquivo de configuração de cluster".
- Desde o primeiro nó 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. Fazer isso vai validar o arquivocluster.conf, aplicar a configuração a cada arquivo de nó e ativar 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 cada nó executa. Para obter mais informações, consulte "Sobre os nós do cluster."
O exemplo cluster.conf define um cluster com cinco nós.
- Dois nós (chamados ghe-app-node-\*) executam os serviçosweb-serverejob-serverresponsáveis por responder � s solicitações do cliente.
- Três nós (chamados ghe-data-node-\*) executam o serviço de armazenamento e recuperação de dados do GitHub Enterprise Server.
Os nomes dos nós podem ser qualquer nome de host válido. Cada nome é definido como nome de host e será adicionado a /etc/hosts em cada nó. Assim, os nós podem ser resolvidos localmente entre si.
Especifique o primeiro nó do cluster que você configurou como principal do MySQL via 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