Informationen zur Initialisierung eines GitHub Enterprise Server-Clusters
Um einen GitHub Enterprise Server-Cluster in deiner Umgebung bereitzustellen, musst du GitHub Enterprise Server installieren, eine clusterfähige Lizenz hochladen, den ersten Knoten konfigurieren und diesen mit einer Konfigurationsdatei initialisieren.
Hinweis: GitHub Enterprise Server-Clustering muss mit HTTPS konfiguriert werden.
GitHub Enterprise Server installieren
Um mit dem Einrichten des Clusters zu beginnen, installiere die GitHub Enterprise Server-Appliance auf dem virtuellen Computer (VM) jedes Knotens, und konfiguriere dann eine IP-Adresse.
- Stelle auf jedem Clusterknoten GitHub Enterprise Server bereit, und installiere es. Weitere Informationen findest du unter GitHub Enterprise Server-Instanz einrichten.
- Konfiguriere mithilfe der Verwaltungsshell oder DHCP nur die IP-Adresse jedes Knotens. Konfiguriere keine anderen Einstellungen.
Ersten Knoten konfigurieren
Installiere deine GitHub Enterprise Server-Lizenz auf dem Knoten, der als primärer MySQL-Knoten fungiert.
- Stelle eine Verbindung mit dem Knoten her, der in
cluster.conf
als primäre MySQL-Instanz gekennzeichnet wird. Weitere Informationen findest du unter Cluster initialisieren. - Wechsle in deinem Webbrowser zu
https://<ip address>:8443/setup/
. - Lade an der Eingabeaufforderung Deine Lizenzdatei hoch, und lege das Passwort für die Managementkonsole fest. Weitere Informationen findest du unter Verwalten deiner Lizenz für GitHub Enterprise.
- Konfiguriere und speichere deine gewünschten Einstellungen in der Verwaltungskonsole.
- Die Instanz wird automatisch neu gestartet.
Cluster initialisieren
Um den Cluster zu initialisieren, benötigst du eine Clusterkonfigurationsdatei (cluster.conf
). Weitere Informationen findest du unter Cluster initialisieren.
- Führe 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ühre aus
ghe-cluster-config-apply
. Dieser Befehl validiert die Dateicluster.conf
, wendet die Konfiguration auf jede Knotendatei an und lädt die konfigurierten Dienste auf jeden Knoten.
Um den Status eines ausgeführten Clusters zu überprüfen, verwende den Befehl ghe-cluster-status
.
Informationen zur Clusterkonfigurationsdatei
Die Clusterkonfigurationsdatei (cluster.conf
) definiert die Knoten im Cluster und die von ihnen ausgeführten Dienste.
Weitere Informationen findest du unter Informationen zu Clusterknoten.
Diese cluster.conf
-Beispieldatei definiert einen Cluster mit 11 Knoten.
- Zwei Knoten mit dem Namen
ghes-front-end-node-\*
führen die für die Reaktion auf Clientanforderungen zuständigen Dienste aus - Drei Knoten mit dem Namen
ghes-database-node-\*
führen Dienste aus, die für die Speicherung, den Abruf und die Replikation von Datenbankdaten verantwortlich sind - Drei Knoten mit dem Namen
ghes-search-node-\*
führen Dienste aus, die für die Suchfunktionalität verantwortlich sind - Drei Knoten mit dem Namen
ghes-storage-node-\*
führen Dienste aus, die für die Speicherung, den Abruf und die Replikation von Daten verantwortlich sind
Die Namen der Knoten können beliebige gültige Hostnamen sein. Die Namen sind als Hostnamen jedes Knotens festgelegt und werden auf jedem Knoten zu /etc/hosts
hinzugefügt, damit die Knoten untereinander lokal auflösbar sind.
Gib den ersten Clusterknoten an, den du über mysql-server
und mysql-master
als primär MySQL-Instanz konfiguriert hast.
[cluster]
mysql-master = ghes-database-node-1
redis-master = ghes-database-node-1
primary-datacenter = primary
[cluster "ghes-front-end-node-1"]
hostname = ghes-front-end-node-1
ipv4 = 192.168.0.2
# ipv6 = fd12:3456:789a:1::2
consul-datacenter = primary
datacenter = primary
web-server = true
job-server = true
memcache-server = true
[cluster "ghes-front-end-node-2"]
hostname = ghes-front-end-node-2
ipv4 = 192.168.0.3
# ipv6 = fd12:3456:789a:1::3
consul-datacenter = primary
datacenter = primary
web-server = true
job-server = true
memcache-server = true
[cluster "ghes-database-node-1"]
hostname = ghes-database-node-1
ipv4 = 192.168.0.4
# ipv6 = fd12:3456:789a:1::4
consul-datacenter = primary
datacenter = primary
consul-server = true
mysql-server = true
redis-server = true
[cluster "ghes-database-node-2"]
hostname = ghes-database-node-2
ipv4 = 192.168.0.5
# ipv6 = fd12:3456:789a:1::5
consul-datacenter = primary
datacenter = primary
consul-server = true
mysql-server = true
redis-server = true
[cluster "ghes-database-node-3"]
hostname = ghes-database-node-3
ipv4 = 192.168.0.6
# ipv6 = fd12:3456:789a:1::6
consul-datacenter = primary
datacenter = primary
consul-server = true
mysql-server = true
redis-server = true
[cluster "ghes-search-node-1"]
hostname = ghes-search-node-1
ipv4 = 192.168.0.7
# ipv6 = fd12:3456:789a:1::7
consul-datacenter = primary
datacenter = primary
elasticsearch-server = true
[cluster "ghes-search-node-2"]
hostname = ghes-search-node-2
ipv4 = 192.168.0.8
# ipv6 = fd12:3456:789a:1::8
consul-datacenter = primary
datacenter = primary
elasticsearch-server = true
[cluster "ghes-search-node-3"]
hostname = ghes-search-node-3
ipv4 = 192.168.0.9
# ipv6 = fd12:3456:789a:1::9
consul-datacenter = primary
datacenter = primary
elasticsearch-server = true
[cluster "ghes-storage-node-1"]
hostname = ghes-storage-node-1
ipv4 = 192.168.0.10
# ipv6 = fd12:3456:789a:1::10
consul-datacenter = primary
datacenter = primary
git-server = true
pages-server = true
storage-server = true
metrics-server = true
[cluster "ghes-storage-node-2"]
hostname = ghes-storage-node-2
ipv4 = 192.168.0.11
# ipv6 = fd12:3456:789a:1::11
consul-datacenter = primary
datacenter = primary
git-server = true
pages-server = true
storage-server = true
metrics-server = true
[cluster "ghes-storage-node-3"]
hostname = ghes-storage-node-3
ipv4 = 192.168.0.12
# ipv6 = fd12:3456:789a:1::12
consul-datacenter = primary
datacenter = primary
git-server = true
pages-server = true
storage-server = true
metrics-server = true
Erstelle die Datei /data/user/common/cluster.conf
auf dem konfigurierten ersten Knoten. Beispielsweise gilt bei Verwendung von vim
:
ghe-data-node-1:~$ sudo vim /data/user/common/cluster.conf