О инициализации кластера GitHub Enterprise Server
Чтобы развернуть кластер GitHub Enterprise Server в среде, необходимо установить GitHub Enterprise Server, отправить лицензию с поддержкой кластера, настроить первый узел и инициализировать узел с помощью файла конфигурации.
Примечание. Кластеризация GitHub Enterprise Server должна быть настроена с помощью протокола HTTPS.
Установка GitHub Enterprise Server
Чтобы начать настройку кластера, установите устройство GitHub Enterprise Server на виртуальной машине каждого узла, а затем настройте IP-адрес.
- На каждом узле кластера подготовьте и установите GitHub Enterprise Server. Дополнительные сведения см. в разделе Настройка экземпляра GitHub Enterprise Server.
 - Используя административную оболочку или DHCP, настройте только IP-адрес каждого узла. Не следует настраивать другие параметры.
 
Настройка первого узла
На узле, который будет работать в качестве основного узла MySQL, установите лицензию GitHub Enterprise Server .
- Подключитесь узлу, который будет назначен как основной сервер MySQL в 
cluster.conf. Дополнительные сведения см. в разделе Инициализация кластера. - В веб-браузере перейдите по адресу 
https://<ip address>:8443/setup/. - В командной строке отправьте файл лицензии и задайте пароль консоли управления. Дополнительные сведения см. в разделе Управление лицензией для GitHub Enterprise.
 - В Консоль управления настройте и сохраните нужные параметры.
 - Экземпляр будет перезапущен автоматически.
 
Инициализация кластера
Для инициализации кластера требуется файл конфигурации кластера (cluster.conf). Дополнительные сведения см. в разделе "Инициализация кластера".
- На первом настроенном узле выполните команду 
ghe-cluster-config-init. При этом кластер инициализируется, если в файле конфигурации кластера есть узлы, которые не были настроены. - Запустите 
ghe-cluster-config-apply. Это позволит проверить файлcluster.conf, применить конфигурацию к каждому файлу узла и запустить настроенные службы на каждом узле. 
Чтобы проверить состояние работающего кластера, используйте команду ghe-cluster-status.
Сведения о файле конфигурации кластера
Файл конфигурации кластера (cluster.conf) определяет узлы в кластере и службы, которые они выполняют.
Дополнительные сведения см. в разделе Сведения об узлах кластера.
В этом примере cluster.conf определяется кластер с 11 узлами.
- Два узла, называемые 
ghes-front-end-node-\*службами запуска, отвечающими за реагирование на запросы клиентов. - Три узла, называемые 
ghes-database-node-\*службами запуска, отвечающими за хранение, извлечение и репликацию данных базы данных. - Три узла, называемые 
ghes-search-node-\*службами запуска, отвечающими за функции поиска. - Три узла, называемые 
ghes-storage-node-\*службами запуска, отвечающими за хранение, извлечение и репликацию данных. 
Для каждого узла необходимо выбрать допустимое и уникальное имя узла и IPv4-адрес. Чтобы обеспечить локальное разрешение узлов друг другу, GitHub Enterprise Server добавит запись для имени /etc/hosts узла каждого узла на каждом узле.
- Дополнительные сведения о допустимых именах узлов для GitHub Enterprise Serverсм. в разделе "Настройка имени узла для экземпляра".
 - Каждый IPv4-адрес должен быть адресом в частной сети. См . статью RFC 1918 на веб-сайте IETF.
 
Укажите первый узел кластера, который настроен как основной узел MySQL, посредством mysql-server и mysql-master.
[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
Создайте файл /data/user/common/cluster.conf на первом настроенном узле. Например, при выполнении команды vim:
ghe-data-node-1:~$ sudo vim /data/user/common/cluster.conf