Hinweis: GitHub Enterprise Server-Clustering muss mit HTTPS konfiguriert werden.
GitHub Enterprise Server installieren
- Stellen Sie auf jedem Clusterknoten GitHub Enterprise Server bereit, und installieren Sie es. Weitere Informationen finden Sie unter „GitHub Enterprise Server-Instanz einrichten“.
- Konfigurieren Sie mithilfe der Verwaltungsshell oder DHCP nur die IP-Adresse jedes Knotens. Konfigurieren Sie keine anderen Einstellungen.
Ersten Knoten konfigurieren
- Stellen Sie eine Verbindung zum Knoten her, der als
mysql-master
incluster.conf
vorgesehen ist. Weitere Informationen findest Du unter „Informationen zur Clusterkonfigurations-Datei“. - Rufen Sie in Ihrem Webbrowser
https://<ip address>:8443/setup/
auf. - Lade an der Eingabeaufforderung Deine Lizenzdatei hoch, und lege das Passwort für die Managementkonsole fest. Weitere Informationen findest Du unter „Deine GitHub Enterprise-Lizenz verwalten."
- Konfigurieren Sie in der Managementkonsole Ihre gewünschten Einstellungen, und speichern Sie sie.
- Die Instanz wird automatisch neu gestartet.
Cluster initialisieren
Zum Initialisieren des Clusters benötigen Sie eine Clusterkonfigurationsdatei (cluster.conf
). Weitere Informationen finden Sie unter „Informationen zur Clusterkonfigurationsdatei“.
- Führen Sie auf dem ersten Knoten, der konfiguriert wurde,
ghe-cluster-config-init
aus. Dadurch wird der Cluster initialisiert, wenn in der Clusterkonfigurationsdatei nicht konfigurierte Knoten vorhanden sind. - Führen Sie
ghe-cluster-config-apply
aus. Dadurch wird die Dateicluster.conf
validiert, die Konfiguration auf jede Knotendatei angewendet und die konfigurierten Dienste auf jedem Knoten angezeigt.
Führen Sie den Befehl ghe-cluster-status
aus, um den Status eines in Ausführung befindlichen Clusters zu überprüfen.
Informationen zur Clusterkonfigurationsdatei
Die Clusterkonfigurationsdatei (cluster.conf
) definiert die Knoten im Cluster und welche Dienste sie ausführen. Weitere Informationen findest Du unter „About cluster nodes“ (Informationen zu Cluster-Knoten).
Diese Beispieldatei cluster.conf
definiert einen Cluster mit fünf Knoten.
- Auf zwei Knoten (namens
ghe-app-node-\*
) laufen die Diensteweb-server
undjob-server
deren Aufgabe es ist, die Clientanfragen zu beantworten. - Drei Knoten (namens
ghe-data-node-\*
) führen die Dienste aus, die zum Speichern und Abrufen der GitHub Enterprise Server-Daten verantwortlich sind.
Die Namen der Knoten können beliebige gültige Hostnamen sein. Die Namen werden als der Hostname jedes Knotens festgelegt und zudem /etc/hosts
auf jedem Knoten hinzugefügt, damit die Knoten untereinander lokal auflösbar sind.
Geben Sie den ersten Clusterknoten an, den Sie als den MySQL-Master über mysql-server
und mysql-master
konfiguriert haben.
[cluster]
mysql-master = ghe-data-node-1
redis-master = ghe-data-node-1
primary-datacenter = default
[cluster "ghe-app-node-1"]
hostname = ghe-app-node-1
ipv4 = 192.168.0.2
# ipv6 = fd12:3456:789a:1::2
web-server = true
job-server = true
[cluster "ghe-app-node-2"]
hostname = ghe-app-node-2
ipv4 = 192.168.0.3
# ipv6 = fd12:3456:789a:1::3
web-server = true
job-server = true
[cluster "ghe-data-node-1"]
hostname = ghe-data-node-1
ipv4 = 192.168.0.4
# ipv6 = fd12:3456:789a:1::4
consul-server = true
consul-datacenter = default
git-server = true
pages-server = true
mysql-server = true
elasticsearch-server = true
redis-server = true
memcache-server = true
metrics-server = true
storage-server = true
[cluster "ghe-data-node-2"]
hostname = ghe-data-node-2
ipv4 = 192.168.0.5
# ipv6 = fd12:3456:789a:1::5
consul-server = true
consul-datacenter = default
git-server = true
pages-server = true
mysql-server = true
elasticsearch-server = true
redis-server = true
memcache-server = true
metrics-server = true
storage-server = true
[cluster "ghe-data-node-3"]
hostname = ghe-data-node-3
ipv4 = 192.168.0.6
# ipv6 = fd12:3456:789a:1::6
consul-server = true
consul-datacenter = default
git-server = true
pages-server = true
mysql-server = true
elasticsearch-server = true
redis-server = true
memcache-server = true
metrics-server = true
storage-server = true
Erstellen Sie die Datei /data/user/common/cluster.conf
auf dem konfigurierten ersten Knoten. Führen Sie beispielsweise mit vim
Folgendes aus:
ghe-data-node-1:~$ sudo vim /data/user/common/cluster.conf