Skip to main content

Informationen zu Clusterknoten

Knoten sind GitHub Enterprise Server-Instanzen, die in einem Cluster betrieben werden. Jeder Knoten führt verschiedene Dienste aus, die für den Cluster und letztendlich die Benutzer*innen bereitgestellt werden.

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 deiner Nutzung, beispielsweise in Bezug auf die Benutzeraktivität und die ausgewählten Integrationen, sind möglicherweise mehr Ressourcen erforderlich.

DiensteMinimaler ArbeitsspeicherbedarfMinimaler freier Speicherplatz auf dem Datenvolume
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

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

Hinweis: Die Skalierbarkeitsanforderungen deiner Organisation hängen von vielen Faktoren ab, einschließlich der Größe und der Anzahl der Repositorys, der Anzahl der Benutzer*innen und der Gesamtauslastung.

DiensteMinimaler Knotenbedarf
job-server,
memcache-server,
metrics-server,
web-server
2
mysql-server,
redis-server
2
consul-server3
git-server,
pages-server,
storage-server
3
elasticsearch-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.
  • Erstelle die Knotenstufen, die für deine Organisation sinnvoll sind. Beispielkonfiguration:
    • Front-End-Ebene mit zwei Knoten und den folgenden Diensten:
      • web-server
      • job-server
      • memcache-server
    • Datenbank-Ebene mit drei Knoten und den folgenden Diensten:
      • consul-server
      • mysql-server
      • redis-server
    • Suchebene mit drei Knoten und dem folgenden Dienst:
      • elasticsearch-server
    • Speicherebene mit drei Knoten und den folgenden Diensten:
      • git-server
      • pages-server
      • storage-server
      • metrics-server

Beispielclusterdiagramm

Hinweis: Dies ist nur ein Beispiel. Das optimale Clusterdesign deiner Organisation hängt von deinen individuellen Anforderungen ab. Kontaktiere deinen engagierten Ansprechpartner oder GitHub's Sales team damit wir Dir helfen können, die beste Clusterkonfiguration zu bestimmen.

Example Cluster