Skip to main content

Cette version de GitHub Enterprise Server n'est plus disponible depuis le 2023-09-25. Aucune publication de correctifs n’est effectuée, même pour les problèmes de sécurité critiques. Pour de meilleures performances, une sécurité améliorée et de nouvelles fonctionnalités, effectuez une mise à niveau vers la dernière version de GitHub Enterprise. Pour obtenir de l’aide sur la mise à niveau, contactez le support GitHub Enterprise.

Remplacement d’un nœud de cluster

Si un nœud échoue dans un cluster GitHub Enterprise Server, ou si vous souhaitez ajouter un nouveau nœud avec plus de ressources, marquez les nœuds à remplacer comme hors connexion et ajoutez le nouveau nœud.

GitHub détermine l’éligibilité au clustering et doit activer la configuration de la licence de votre instance. Le clustering nécessite une planification minutieuse et une surcharge administrative supplémentaire. Pour plus d’informations, consultez « À propos du clustering ».

À propos du remplacement de nœuds de cluster GitHub Enterprise Server

Vous pouvez remplacer un nœud fonctionnel dans un cluster GitHub Enterprise Server ou remplacer un nœud qui a échoué de manière inattendue.

Avertissement : Pour éviter les conflits, ne réutilisez pas un nom d’hôte précédemment attribué à un nœud du cluster.

Remplacement d’un nœud fonctionnel

Vous pouvez remplacer un nœud fonctionnel existant dans votre cluster. Par exemple, vous voudrez peut-être fournir à une machine virtuelle des ressources de processeur, de mémoire ou de stockage supplémentaires.

Pour remplacer un nœud fonctionnel, installez l’appliance GitHub Enterprise Server sur une nouvelle machine virtuelle, configurez une adresse IP, ajoutez le nouveau nœud au fichier de configuration du cluster, initialisez le cluster et appliquez la configuration, puis mettez le nœud que vous avez remplacé hors connexion.

  1. Provisionnez et installez GitHub Enterprise Server avec un nom d’hôte unique sur le nœud de remplacement.

  2. En utilisant l’interpréteur de commandes d’administration ou DHCP, configurez uniquement l’adresse IP du nœud de remplacement. Ne configurez pas d’autres paramètres.

  3. Pour ajouter le nœud de remplacement nouvellement provisionné, sur n’importe quel nœud, modifiez le fichier cluster.conf pour supprimer le nœud ayant échoué et ajouter le nœud de remplacement. Par exemple, ce fichier cluster.conf modifié remplace ghe-data-node-3 par le nœud nouvellement provisionné, ghe-replacement-data-node-3 :

    [cluster "ghe-replacement-data-node-3"]
      hostname = ghe-replacement-data-node-3
      ipv4 = 192.168.0.7
      # ipv6 = fd12:3456:789a:1::7
      git-server = true
      pages-server = true
      mysql-server = true
      elasticsearch-server = true
      redis-server = true
      memcache-server = true
      metrics-server = true
      storage-server = true
    
  4. À partir de l’interpréteur de commandes d’administration du nœud avec le cluster.conf modifié, exécutez ghe-cluster-config-init. Cette commande initialise le nœud nouvellement ajouté dans le cluster.

  5. À partir du même nœud, exécutez ghe-cluster-config-apply. Cette commande valide le fichier de configuration, le copie sur chaque nœud du cluster et configure chaque nœud en fonction du fichier cluster.conf modifié.

  6. Si vous prenez un nœud hors connexion qui fournit des services de données, tels que git-server, pages-server ou storage-server, évacuez le nœud. Pour plus d’informations, consultez « Évacuation d’un nœud de cluster exécutant des services de données ».

  7. Pour marquer le nœud défaillant hors connexion, sur n’importe quel nœud, modifiez le fichier de configuration du cluster (cluster.conf) dans la section de nœud appropriée pour inclure le texte offline = true.

    Par exemple, ce fichier cluster.conf modifié marque le nœud ghe-data-node-3 comme étant hors connexion :

    [cluster "ghe-data-node-3"]
    hostname = ghe-data-node-3
    offline = true
    ipv4 = 192.168.0.6
    # ipv6 = fd12:3456:789a:1::6
    
  8. À partir de l’interpréteur de commandes d’administration du nœud où vous avez modifié cluster.conf, exécutez ghe-cluster-config-apply. Cette commande valide le fichier de configuration, le copie sur chaque nœud du cluster et marque le nœud comme étant hors connexion.

  9. Si vous remplacez le nœud MySQL ou Redis principal, dans cluster.conf, modifiez la valeur mysql-master ou redis-master avec le nom du nœud de remplacement.

    Par exemple, ce fichier cluster.conf modifié spécifie un nœud de cluster nouvellement approvisionné, ghe-replacement-data-node-1, en tant que nœud MySQL et Redis principal :

    mysql-master = ghe-replacement-data-node-1
    redis-master = ghe-replacement-data-node-1
    

Remplacement d’un nœud en cas d’urgence

Vous pouvez remplacer un nœud défaillant dans votre cluster. Par exemple, un problème logiciel ou matériel peut affecter la disponibilité d’un nœud.

Pour remplacer un nœud en cas d’urgence, installez l’appliance GitHub Enterprise Server sur une nouvelle machine virtuelle, configurez une adresse IP, mettez le nœud défaillant hors connexion, appliquez la configuration, ajoutez le nouveau nœud au fichier de configuration du cluster, initialisez le cluster et appliquez la configuration, et éventuellement, évacuez le nœud défaillant.

  1. Provisionnez et installez GitHub Enterprise Server avec un nom d’hôte unique sur le nœud de remplacement.

  2. En utilisant l’interpréteur de commandes d’administration ou DHCP, configurez uniquement l’adresse IP du nœud de remplacement. Ne configurez pas d’autres paramètres.

  3. Pour marquer le nœud défaillant hors connexion, sur n’importe quel nœud, modifiez le fichier de configuration du cluster (cluster.conf) dans la section de nœud appropriée pour inclure le texte offline = true.

    Par exemple, ce fichier cluster.conf modifié marque le nœud ghe-data-node-3 comme étant hors connexion :

    [cluster "ghe-data-node-3"]
    hostname = ghe-data-node-3
    offline = true
    ipv4 = 192.168.0.6
    # ipv6 = fd12:3456:789a:1::6
    
  4. À partir de l’interpréteur de commandes d’administration du nœud où vous avez modifié cluster.conf, exécutez ghe-cluster-config-apply. Cette commande valide le fichier de configuration, le copie sur chaque nœud du cluster et marque le nœud comme étant hors connexion.

  5. Pour ajouter le nœud de remplacement nouvellement provisionné, sur n’importe quel nœud, modifiez le fichier cluster.conf pour supprimer le nœud ayant échoué et ajouter le nœud de remplacement. Par exemple, ce fichier cluster.conf modifié remplace ghe-data-node-3 par le nœud nouvellement provisionné, ghe-replacement-data-node-3 :

    [cluster "ghe-replacement-data-node-3"]
      hostname = ghe-replacement-data-node-3
      ipv4 = 192.168.0.7
      # ipv6 = fd12:3456:789a:1::7
      git-server = true
      pages-server = true
      mysql-server = true
      elasticsearch-server = true
      redis-server = true
      memcache-server = true
      metrics-server = true
      storage-server = true
    
  6. Si vous remplacez le nœud MySQL ou Redis principal, dans cluster.conf, modifiez la valeur mysql-master ou redis-master avec le nom du nœud de remplacement.

    Par exemple, ce fichier cluster.conf modifié spécifie un nœud de cluster nouvellement approvisionné, ghe-replacement-data-node-1, en tant que nœud MySQL et Redis principal :

    mysql-master = ghe-replacement-data-node-1
    redis-master = ghe-replacement-data-node-1
    
  7. À partir de l’interpréteur de commandes d’administration du nœud avec le cluster.conf modifié, exécutez ghe-cluster-config-init. Cette commande initialise le nœud nouvellement ajouté dans le cluster.

  8. À partir du même nœud, exécutez ghe-cluster-config-apply. Cette commande valide le fichier de configuration, le copie sur chaque nœud du cluster et configure chaque nœud en fonction du fichier cluster.conf modifié.

  9. Si vous prenez un nœud hors connexion qui fournit des services de données, tels que git-server, pages-server ou storage-server, évacuez le nœud. Pour plus d’informations, consultez « Évacuation d’un nœud de cluster exécutant des services de données ».