Diese Version von GitHub Enterprise wurde eingestellt am 2021-06-09. Es wird keine Patch-Freigabe vorgenommen, auch nicht für kritische Sicherheitsprobleme. Für eine bessere Leistung, verbesserte Sicherheit und neue Features nimm ein Upgrade auf die neueste Version von GitHub Enterprise vor. Wende Dich an den GitHub Enterprise-Support, um Hilfe beim Upgrade zu erhalten.

Hochverfügbarkeitsreplikat erstellen

In einer aktiven/passiven Konfiguration ist die Replikat-Appliance eine redundante Kopie der primären Appliance. Wenn die primäre Appliance ausfällt, ermöglicht der Hochverfügbarkeitsmodus dem Replikat, als primäre Appliance zu fungieren, was eine minimale Dienstunterbrechung ermöglicht.

Hochverfügbarkeitsreplikat erstellen

  1. Richten Sie eine neue GitHub Enterprise Server-Appliance auf Ihrer gewünschten Plattform ein. Die Replikat-Appliance sollte die CPU-, RAM- und Speichereinstellungen der primären Appliance spiegeln. Sie sollten die Replikat-Appliance in einer unabhängigen Umgebung installieren. Die zugrunde liegenden Hardware-, Software und Netzwerkkomponenten sollten von denen der primären Appliance isoliert sein. Wenn Sie einen Cloud-Anbieter verwenden, sollten Sie eine separate Region oder Zone verwenden. Weitere Informationen finden Sie unter „GitHub Enterprise Server-Instanz einrichten“.

  2. Navigieren Sie in einem Browser zur IP-Adresse der neuen Replikat-Appliance, und laden Sie Ihre GitHub Enterprise-Lizenz hoch.

  3. Legen Sie ein Administratorpasswort fest, das dem Passwort auf der primären Appliance entspricht, und setzen Sie den Vorgang fort.

  4. Klicken Sie auf Configure as Replica (Als Replikat konfigurieren). Installationsoptionen mit einem Link zum Konfigurieren Ihrer neuen Instanz als ein Replikat

  5. Geben Sie unter „Add new SSH key“ (Neuen SSH-Schlüssel hinzufügen) Ihren SSH-Schlüssel ein.Option zum Hinzufügen eines SSH-Schlüssels

  6. Klicken Sie auf Add key (Schlüssel hinzufügen) und anschließend auf Continue (Fortsetzen).

  7. Stellen Sie mittels SSH eine Verbindung zur IP-Adresse der Replikat-Appliance her.

    $ ssh -p 122 admin@REPLICA IP
  8. Führen Sie zum Generieren eines Schlüsselpaars zur Replikation den Befehl ghe-repl-setup mit der IP-Adresse der primären Appliance aus, und kopieren Sie den zurückgegebenen öffentlichen Schlüssel.

    $ ghe-repl-setup PRIMARY IP
  9. Um der Liste der autorisierten Schlüssel auf der primären Appliance den öffentlichen Schlüssel hinzuzufügen, navigiere zu https://PRIMARY-HOSTNAME/setup/settings, und füge den Schlüssel, den Du vom Replikat kopiert hast, zur Liste hinzu.

  10. Führen Sie den Befehl ghe-repl-setup erneut aus, um die Verbindung zur primären Instanz zu verifizieren und um den Replikatmodus für das neue Replikat zu aktivieren.

    $ ghe-repl-setup PRIMARY IP
  11. Führe den Befehl ghe-repl-start aus, um mit der Replikation der Datenspeicher zu beginnen.

    $ ghe-repl-start

    Warnung: ghe-repl-start verursacht einen kurzen Ausfall auf dem primären Server, während dessen Benutzer interne Serverfehler sehen können. Um eine freundlichere Nachricht bereitzustellen, führe ghe-maintenance -s auf dem primären Knoten aus, bevor Du ghe-repl-start auf dem Replikatknoten ausführst, um die Appliance in den Wartungsmodus zu versetzen. Sobald die Replikation gestartet ist, deaktiviere den Wartungsmodus mit ghe-maintenance -u.

  12. Führen Sie den Befehl ghe-repl-status aus, um den Status des Replikationskanals jedes Datenspeichers zu verifizieren.

    $ ghe-repl-status

Replikate der Geo-Replikation erstellen

Diese Beispielkonfiguration verwendet eine primäre Instanz und zwei Replikate, die sich in drei unterschiedlichen geografischen Regionen befinden. Obwohl sich die drei Knoten in unterschiedlichen Netzwerken befinden können, müssen alle Knoten über alle anderen Knoten zugänglich sein. Die erforderlichen Verwaltungsports sollten mindestens für alle anderen Knoten geöffnet sein. Weitere Informationen zu den Portanforderungen finden Sie unter „Netzwerkports“.

  1. Erstellen Sie das erste Replikat so, wie Sie eine Standardkonfiguration aus zwei Knoten erstellen würden. Führen Sie dazu den Befehl ghe-repl-setup auf dem ersten Replikat aus.

    (replica1)$ ghe-repl-setup PRIMARY IP
    (replica1)$ ghe-repl-start
  2. Erstellen Sie ein zweites Replikat, und führen Sie den Befehl ghe-repl-setup --add aus. Das Flag --add verhindert, dass es die vorhandene Replikationskonfiguration überschreibt, und fügt der Konfiguration das neue Replikat hinzu.

    (replica2)$ ghe-repl-setup --add PRIMARY IP
    (replica2)$ ghe-repl-start
  3. By default, replicas are configured to the same datacenter, and will now attempt to seed from an existing node in the same datacenter. Konfigurieren Sie die Replikate für unterschiedliche Rechenzentren, indem Sie für die Rechenzentrumsoption einen anderen Wert festlegen. Die entsprechenden Werte sind beliebig, sie müssen sich nur voneinander unterscheiden. Führen Sie den Befehl ghe-repl-node auf jedem Knoten aus, und geben Sie das Rechenzentrum an.

    Auf der primären Instanz:

    (primary)$ ghe-repl-node --datacenter [PRIMARY DC NAME]

    Auf dem ersten Replikat:

    (replica1)$ ghe-repl-node --datacenter [FIRST REPLICA DC NAME]

    Auf dem zweiten Replikat:

    (replica2)$ ghe-repl-node --datacenter [SECOND REPLICA DC NAME]

    Tipp: Sie können die Optionen --datacenter und --active gleichzeitig festlegen.

  4. Ein aktiver Replikatknoten speichert Kopien der Appliance-Daten und verarbeitet Anforderungen von Endbenutzern. Ein inaktiver Knoten speichert Kopien der Appliance-Daten, kann die Anforderungen von Endbenutzern jedoch nicht verarbeiten. Aktivieren Sie den aktiven Modus mit dem Flag --active oder den inaktiven Modus mit dem Flag --inactive.

    Auf dem ersten Replikat:

    (replica1)$ ghe-repl-node --active

    Auf dem zweiten Replikat:

    (replica2)$ ghe-repl-node --active
  5. Führen Sie zum Anwenden der Konfiguration auf der primären Instanz den Befehl ghe-config-apply aus.

    (primary)$ ghe-config-apply

DNS für Geo-Replikation konfigurieren

Konfigurieren Sie Geo DNS mit den IP-Adressen auf der primären Instanz und auf den Replikatknoten. Sie können auch einen DNS CNAME für den primären Knoten (z. B. primary.github.example.com) erstellen, um über SSH auf den primären Knoten zuzugreifen oder ihn mit backup-utils zu sichern.

Zu Testzwecken können Sie der Datei hosts (z. B. /etc/hosts) der lokalen Workstation Einträge hinzufügen. Diese Beispieleinträge lösen Anforderungen für HOSTNAME in replica2 auf. Sie können auf spezifische Hosts abzielen, indem Sie unterschiedliche Zeilen auskommentieren.

# <primary IP>     <em>HOSTNAME</em>
# <replica1 IP>    <em>HOSTNAME</em>
<replica2 IP>    <em>HOSTNAME</em>

Weiterführende Informationen