Informationen zu Clusterknoten
Knoten sind GitHub Enterprise Server-Instanzen, die in einem Cluster arbeiten. Jeder Knoten führt eine Reihe an Diensten aus, die dem Cluster und schließlich den Benutzern bereitgestellt werden.
Inhalt dieses Artikels
Hinweis: GitHub Enterprise Server-Clustering muss mit HTTPS konfiguriert werden.
Mindesthardwareempfehlungen
Jeder Knoten muss ein Root-Volume und ein separates Datenvolumen aufweisen. Es gibt Mindestempfehlungen. Entsprechend Ihrer Nutzung, beispielsweise in Bezug auf die Benutzeraktivität und die ausgewählten Integrationen, sind möglicherweise mehr Ressourcen erforderlich.
Dienste | Minimaler Arbeitsspeicherbedarf | Minimaler freier Speicherplatz auf dem Datenvolume |
---|---|---|
job-server ,
memcache-server ,
web-server |
14 GB | 1 GB |
consul-server ,
mysql-server ,
redis-server |
14 GB | 10 GB |
git-server ,
metrics-server ,
pages-server ,
storage-server |
7 GB | 10 GB |
elasticsearch-server |
14 GB | 10 GB |
Für das Clustering erforderliche Dienste
Verwenden Sie zum Erzielen der angemessenen Redundanz diese Mindestanforderungen an Knoten, die jeden Dienst betreiben.
Hinweis: Die Skalierbarkeitsanforderungen Ihrer Organisation hängen von vielen Faktoren ab, einschließlich der Größe und der Anzahl der Repositorys, der Anzahl der Benutzer und der Gesamtauslastung.
Dienste | Minimaler Knotenbedarf |
---|---|
job-server ,
memcache-server ,
metrics-server ,
web-server |
2 |
mysql-server ,
redis-server |
2 |
consul-server |
3 |
git-server ,
pages-server ,
storage-server |
3 |
elasticsearch-server |
3 |
Empfehlungen zum Clusterdesign
Mittels Clustering können Dienste, die den GitHub Enterprise Server bilden, unabhängig voneinander per Scale-out erweitert werden. Diese Flexibilität kann genutzt werden, um einen Cluster zu konzipieren und zu implementieren, der zu Organisationen mit unterschiedlichen Skalierbarkeitsanforderungen passt. Beispielsweise benötigen einige Organisationen möglicherweise Speicherdurchsätze für große oder häufige Abrufe, die Webservernutzung ist jedoch relativ gering. Eine andere Organisation besitzt möglicherweise eine gute Leistung bei weniger Speicherressourcen, benötigt jedoch viele Knoten, auf denen pages-server
oder elasticsearch-server
ausgeführt wird. Es sind viele verschiedene Kombinationen möglich. Wenden Sie sich an Ihren Kundenbetreuer, um die beste Clusterkonfiguration für Ihre speziellen Anforderungen zu bestimmen.
- Verteilen Sie redundante Knoten über unabhängige Hardware hinweg. Wenn Sie CPU, Arbeitsspeicher oder Speichergeräte gemeinsam verwenden, wird die Leistung reduziert und Single Points of Failure ermöglicht. Gemeinsam verwendete Netzwerkkomponenten können ebenfalls den Durchsatz reduzieren und im Falle eines Ausfalls das Risiko des Konnektivitätsverlusts erhöhen.
- Verwenden Sie schnellen Speicher. Storage-Area-Networks (SAN) sind oftmals für die maximale Speicherauslastung, Verfügbarkeit und Fehlertoleranz optimiert und nicht für den absoluten Durchsatz. GitHub Enterprise Server-Clustering bietet Redundanz und Verfügbarkeit und funktioniert am besten auf dem schnellsten Speicher, der verfügbar ist. Lokaler SSD-Speicher wird empfohlen.
-
Erstellen Sie die Knotenstufen, die für Ihre Organisation sinnvoll sind. Beispielkonfiguration:
-
Front-end tier with two nodes and the following services:
web-server
jobs-server
memcache-server
-
Database tier with three nodes and the following services:
consul-server
mysql-server
redis-server
-
Search tier with three nodes and the following service:
elasticsearch-server
-
Storage tier with three nodes and the following services:
git-server
pages-server
storage-server
metrics-server
-
Beispielclusterdiagramm
Hinweis: Dies ist nur ein Beispiel. Das optimale Clusterdesign Ihrer Organisation hängt von Ihren individuellen Anforderungen ab. Wenden Sie sich an Ihren entsprechenden Ansprechpartner oder an unser Kundendienstteam unter sales@github.com, damit wir Ihnen beim Bestimmen der besten Clusterkonfiguration helfen können.