Skip to main content

Sobre nós de cluster

Em um cluster do GitHub Enterprise Server, os nós são VMs (máquinas virtuais) individuais que executam o software GitHub Enterprise Server e compõem a instância. Cada nó executa um conjunto de serviços.

Quem pode usar esse recurso?

A GitHub determina a qualificação para clustering e deve habilitar a configuração para a licença da instância. O clustering requer um planejamento cuidadoso e sobrecarga administrativa adicional. Para obter mais informações, confira "Sobre clustering".

Sobre os nós de cluster do GitHub Enterprise Server

Cada nó em um cluster do GitHub Enterprise Server é uma VM (máquina virtual) que executa o software GitHub Enterprise Server. Antes de implantar um cluster, você pode examinar os requisitos de hardware, os serviços necessários e as recomendações de design.

Note

O clustering de GitHub Enterprise Server deve ser configurado com HTTPS.

Requisitos de hardware

Cada nó deve ter um volume raiz e um volume de dados separado. Essas são as recomendações mínimas. Podem ser necessários mais recursos, dependendo do seu uso, como atividade do usuário e integrações selecionadas.

ServiçosRequisito mínimo de memóriaMínimo de espaço livre para volume de dados exigido
job-server,
memcache-server,
web-server
14 GB1 GB
consul-server,
mysql-server,
redis-server
14 GB10 GB
git-server,
metrics-server,
pages-server,
storage-server
14 GB10 GB
elasticsearch-server14 GB10 GB

Requisito de serviços para clustering

O GitHub Enterprise Server compreende um conjunto de serviços. Em um cluster, esses serviços são executados em diversos nós e a instância balanceia as solicitações entre os nós. A instância armazena automaticamente cópias redundantes de dados em nós separados. A maioria dos serviços são pares iguais com outras instâncias do mesmo serviço. As exceções a essa distribuição são os serviços mysql-server e redis-server, que operam com um único nó primário e um ou mais nós de réplica.

Para manter a redundância adequada, use esses nós mínimos ao operar cada serviço.

Note

Os requisitos de escala do ambiente dependem de muitos fatores, como o tamanho e o número de repositórios, o número de usuários e a utilização geral.

Exemplo de configuração de cluster

O exemplo a seguir demonstra a configuração de um cluster mínimo, que inclui 11 nós que executam os serviços necessários.

TiersServiçosRequisito mínimo de nós
Front-endjob-server,
memcache-server,
web-server
2
Backup de banco de dadosconsul-server,
mysql-server,
redis-server
3
Armazenamentogit-server,
metrics-server,
pages-server,
storage-server
3
Pesquisarelasticsearch-server3

Recomendações de criação de cluster

O clustering permite que os serviços que compõem o GitHub Enterprise Server sejam dimensionados de maneira independente. Essa flexibilidade pode ser usada para projetar e implementar um cluster que se adapte a organizações com diferentes requisitos de dimensionamento. Por exemplo, talvez algumas organizações precisem de mais taxa de transferência de armazenamento para fetches grandes ou frequentes, mas o uso do servidor da web pode ser relativamente baixo. Outra organização pode ter um bom desempenho com menos recursos de armazenamento, mas precisar de muitos nós executando pages-server ou elasticsearch-server. Muitas combinações são possíveis. Converse com seu representante de conta para determinar a configuração de cluster ideal para o seu caso.

  • Use nós redundantes em todo o hardware independente. Compartilhar dispositivos de armazenamento, memória ou CPU reduz o desempenho e aumenta as chances de pontos únicos de falha. Componentes de rede compartilhada também podem reduzir o rendimento e aumentar o risco de perda de conectividade em caso de interrupção.
  • Use o armazenamento rápido. As redes de área de armazenamento (SAN) costumam ser otimizadas para explorar ao máximo o espaço, a disponibilidade e a tolerância a falhas, mas não o rendimento. Além de oferecer redundância e disponibilidade, o clustering do GitHub Enterprise Server terá melhor desempenho no armazenamento mais rápido disponível. Recomenda-se fazer o armazenamento local em SSD.