Cluster initialisieren
Ein GitHub Enterprise Server-Cluster muss mit einer Lizenz eingerichtet und mithilfe der Verwaltungsshell (SSH) initialisiert werden.
Inhalt dieses Artikels
- GitHub Enterprise Server installieren
- Ersten Knoten konfigurieren
- Cluster initialisieren
- Informationen zur Clusterkonfigurationsdatei
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. For more information, see “About the cluster configuration file." -
Rufen Sie in Ihrem Webbrowser
https://<ip address>:8443/setup/
auf. -
Laden Sie an der Eingabeaufforderung Ihre Lizenzdatei hoch, und legen Sie das Passwort für die Managementkonsole fest. Weitere Informationen finden Sie unter „Ihre GitHub Enterprise Server-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. For more information, see "About cluster nodes."
Diese Beispieldatei cluster.conf
definiert einen Cluster mit fünf Knoten.
- Two nodes (called
ghe-app-node-\*
) run theweb-server
andjob-server
services responsible for responding to client requests. - 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.
Warning: If you're upgrading a GitHub Enterprise Server cluster to version 2.16 or deploying a new GitHub Enterprise Server cluster running version 2.16, ensure that you include the following key-value pairs in cluster.conf
.
-
This key-value pair in the
[cluster]
section specifies a primary datacenter nameddefault
.primary-datacenter = default
-
These key-value pairs in the section for an individual node add the
consul-server
service and specify thedefault
datacenter. At least three nodes in your cluster must run theconsul-server
service in the primary datacenter. For more information, see "About cluster nodes."consul-server = true consul-datacenter = default
[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