Skip to main content

Enterprise Server 3.15 ist derzeit als Release Candidate verfügbar.

Informationen zu Clusterknoten

In einem GitHub Enterprise Server-Cluster sind Knoten einzelne virtuelle Computer (VMs), auf denen die GitHub Enterprise Server-Software ausgeführt wird, aus der die Instanz besteht. Jeder Knoten führt eine Reihe von Diensten aus.

Wer kann dieses Feature verwenden?

GitHub bestimmt die Berechtigung zum Clustering und muss die Konfiguration für die Lizenz deiner Instanz aktivieren. Das Clustering erfordert eine sorgfältige Planung und zusätzlichen Verwaltungsaufwand. Weitere Informationen findest du unter Informationen zu Clustering.

Informationen zu GitHub Enterprise Server-Clusterknoten

Jeder Knoten in einem GitHub Enterprise Server-Cluster ist ein virtueller Computer (VM), auf dem die GitHub Enterprise Server-Software ausgeführt wird. Bevor du einen Cluster bereitstellst, kannst du Hardwareanforderungen, erforderliche Dienste und Entwurfsempfehlungen überprüfen.

Hinweis: GitHub Enterprise Server-Clustering muss mit HTTPS konfiguriert werden.

Hardwareanforderungen

Jeder Knoten muss ein Root-Volume und ein separates Datenvolumen aufweisen. Es gibt Mindestempfehlungen. Entsprechend deiner Nutzung, beispielsweise in Bezug auf die Benutzeraktivität und die ausgewählten Integrationen, sind möglicherweise mehr Ressourcen erforderlich.

DiensteMinimaler Arbeitsspeicher erforderlichMinimaler freier Speicherplatz auf dem Datenvolume erforderlich
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

Für das Clustering erforderliche Dienste

GitHub Enterprise Server besteht aus einer Reihe an Diensten. In einem Cluster werden diese Dienste auf mehreren Knoten ausgeführt, und die Instanz verteilt Anforderungen zwischen den Knoten. Die Instanz speichert redundante Kopien von Daten automatisch auf separaten Knoten. Die meisten Dienste sind gleichwertige Peers mit anderen Instanzen desselben Diensts. Die Ausnahmen von dieser Verteilung sind die Dienste mysql-server und redis-server, die mit einem einzelnen primären Knoten mit einem oder mehreren Replikatknoten betrieben werden.

Verwende zum Erzielen der angemessenen Redundanz diese Mindestanforderungen an Knoten, die jeden Dienst betreiben.

Note

Die Skalierungsanforderungen deiner Umgebung hängen von vielen Faktoren ab, einschließlich der Größe und der Anzahl der Repositorys, der Anzahl der Benutzer und der Gesamtnutzung.

Beispielhafte Clusterkonfiguration

Im folgenden Beispiel wird eine minimale Clusterkonfiguration veranschaulicht, die 11 Knoten enthält, auf denen die erforderlichen Dienste ausgeführt werden.

EbenenDiensteMinimale Anzahl an Knoten erforderlich
Front-Endjob-server,
memcache-server,
web-server
2
Datenbankconsul-server,
mysql-server,
redis-server
3
Storagegit-server,
metrics-server,
pages-server,
storage-server
3
Sucheelasticsearch-server3

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 hat möglicherweise eine gute Leistung mit weniger Speicherressourcen, benötigt jedoch viele Knoten, die pages-server oder elasticsearch-server ausgeführt werden. Es sind viele verschiedene Kombinationen möglich. Wende dich an deinen Kundenbetreuer, um die beste Clusterkonfiguration für deine speziellen Anforderungen zu bestimmen.

  • Verteile redundante Knoten über unabhängige Hardware hinweg. Wenn du CPU, Arbeitsspeicher oder Speichergeräte gemeinsam verwendest, 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.
  • Verwende 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.