Skip to main content

À propos des nœuds de cluster

Dans un cluster GitHub Enterprise Server, les nœuds sont des machines virtuelles individuelles exécutant le logiciel GitHub Enterprise Server qui compose l’instance. Chaque nœud exécute un ensemble de services.

Qui peut utiliser cette fonctionnalité ?

GitHub détermine l’éligibilité au clustering et doit activer la configuration de la licence de votre instance. Le clustering nécessite une planification minutieuse et une surcharge administrative supplémentaire. Pour plus d’informations, consultez « À propos du clustering ».

À propos des nœuds de cluster GitHub Enterprise Server

Chaque nœud d’un cluster GitHub Enterprise Server est une machine virtuelle qui exécute le logiciel GitHub Enterprise Server. Avant de déployer un cluster, vous pouvez passer en revue la configuration matérielle requise, les services requis et les recommandations de conception.

Remarque : le clustering GitHub Enterprise Server doit être configuré avec HTTPS.

Configuration matérielle requise

Chaque nœud doit avoir un volume racine ainsi qu’un volume de données distinct. Il s’agit de recommandations minimales. Selon votre utilisation, comme l’activité des utilisateurs et le choix des intégrations, des ressources supplémentaires peuvent être nécessaires.

ServicesMémoire minimale requiseEspace libre minimal requis pour le volume de données
job-server,
memcache-server,
web-server
14 Go1 Go
consul-server,
mysql-server,
redis-server
14 Go10 Go
git-server,
metrics-server,
pages-server,
storage-server
14 Go10 Go
elasticsearch-server14 Go10 Go

Services nécessaires pour le clustering

GitHub Enterprise Server se compose d’un ensemble de services. Dans un cluster, ces services s’exécutent sur plusieurs nœuds, et l’instance équilibre les demandes entre les nœuds. L’instance stocke automatiquement des copies redondantes de données sur des nœuds distincts. La plupart des services sont des pairs égaux aux autres instances du même service. Les exceptions à cette distribution sont les services mysql-server et redis-server, qui fonctionnent avec un seul nœud principal compsé d’un ou plusieurs nœuds réplica.

Pour une redondance convenable, utilisez le nombre minimal de nœuds indiqué ci-dessous pour chaque service.

Remarque : Les besoins de votre environnement en matière de scalabilité dépendent de nombreux facteurs, notamment de la taille et du nombre de dépôts, du nombre d’utilisateurs et de l’utilisation globale.

Exemple de configuration de cluster

L’exemple suivant illustre une configuration de cluster minimale, qui inclut 11 nœuds qui exécutent les services nécessaires.

NiveauxServicesNombre minimal de nœuds requis
Frontendjob-server,
memcache-server,
web-server
2
Base de donnéesconsul-server,
mysql-server,
redis-server
3
Stockagegit-server,
metrics-server,
pages-server,
storage-server
3
Rechercheelasticsearch-server3

Recommandations relatives à la conception des clusters

Le clustering permet aux services qui composent GitHub Enterprise Server de faire l’objet d’un scale-out indépendamment les uns des autres. Cette flexibilité permet de concevoir et d’implémenter un cluster qui répond aux différentes besoins de scalabilité des organisations. Par exemple, certaines organisations peuvent avoir besoin d’un débit de stockage plus important pour les récupérations (fetch) volumineuses ou fréquentes, tout en ayant une utilisation relativement limitée du serveur web. D’autres organisations peuvent bénéficier d’un bon niveau de performance avec moins de ressources de stockage, mais nécessiter qu’un grand nombre de nœuds exécutent pages-server ou elasticsearch-server. De nombreuses combinaisons différentes sont possibles. Rapprochez-vous de votre représentant de compte pour déterminer la configuration de cluster la mieux adaptée à vos besoins spécifiques.

  • Répartissez les nœuds redondants sur du matériel indépendant. Si vous partagez le processeur, la mémoire ou des dispositifs de stockage, vous perdrez en performances et introduirez des points de défaillance uniques. Le partage de composants de réseau peut aussi réduire le débit et accroître le risque de perte de connectivité en cas de panne.
  • Utilisez un stockage rapide. Les réseaux de zone de stockage (SAN) sont souvent optimisés pour une utilisation d’espace maximale, la disponibilité et la tolérance de panne, mais pas pour un débit absolu. Le clustering GitHub Enterprise Server assure redondance et disponibilité et fonctionne de manière optimale sur le stockage le plus rapide à disposition. Un stockage SSD local est recommandé.