Skip to main content

Инициализация кластера

Кластер GitHub Enterprise Server нужно настроить с помощью лицензии и инициализировать посредством административной оболочки (SSH).

Кто может использовать эту функцию?

GitHub определяет право кластеризации и должен включить конфигурацию лицензии вашего экземпляра. Кластеризация требует тщательного планирования и дополнительных административных накладных расходов. Дополнительные сведения см. в разделе Сведения о кластеризации.

О инициализации кластера GitHub Enterprise Server

Чтобы развернуть кластер GitHub Enterprise Server в среде, необходимо установить GitHub Enterprise Server, отправить лицензию с поддержкой кластера, настроить первый узел и инициализировать узел с помощью файла конфигурации.

Примечание.

Кластеризация GitHub Enterprise Server должна быть настроена с помощью ПРОТОКОЛА HTTPS.

Установка GitHub Enterprise Server

Чтобы начать настройку кластера, установите устройство GitHub Enterprise Server на виртуальной машине каждого узла, а затем настройте IP-адрес.

  1. На каждом узле кластера подготовьте и установите GitHub Enterprise Server. Дополнительные сведения см. в разделе AUTOTITLE.
  2. Используя административную оболочку или DHCP, настройте только IP-адрес каждого узла. Не следует настраивать другие параметры.

Настройка первого узла

На узле, который будет работать в качестве основного узла MySQL, установите лицензию GitHub Enterprise Server .

  1. Подключитесь узлу, который будет назначен как основной сервер MySQL в . Дополнительные сведения см. в разделе AUTOTITLE.
  2. В веб-браузере перейдите по адресу .
  3. В командной строке отправьте файл лицензии и задайте пароль консоли управления. Дополнительные сведения см. в разделе Скачивание лицензии для #REF! Enterprise.
  4. В Консоль управления настройте и сохраните нужные параметры.
  5. Экземпляр будет перезапущен автоматически.

Инициализация кластера

Для инициализации кластера требуется файл конфигурации кластера (). Дополнительные сведения см. в разделе AUTOTITLE.

  1. На первом настроенном узле выполните команду . При этом кластер инициализируется, если в файле конфигурации кластера есть узлы, которые не были настроены.
  2. Запустите . Это позволит проверить файл , применить конфигурацию к каждому файлу узла и запустить настроенные службы на каждом узле.

Чтобы проверить состояние работающего кластера, используйте команду .

Сведения о файле конфигурации кластера

Файл конфигурации кластера () определяет узлы в кластере и службы, которые они выполняют. Дополнительные сведения см. в разделе AUTOTITLE.

В этом примере определяется кластер с 11 узлами.

  • Два узла, называемые службами запуска, отвечающими за реагирование на запросы клиентов.
  • Три узла, называемые службами запуска, отвечающими за хранение, извлечение и репликацию данных базы данных.
  • Три узла, называемые службами запуска, отвечающими за функции поиска.
  • Три узла, называемые службами запуска, отвечающими за хранение, извлечение и репликацию данных.

Для каждого узла необходимо выбрать допустимое и уникальное имя узла и IPv4-адрес. Чтобы обеспечить локальное разрешение узлов друг другу, GitHub Enterprise Server добавит запись для имени узла каждого узла на каждом узле.

  • Дополнительные сведения о допустимых именах узлов для GitHub Enterprise Serverсм. в разделе AUTOTITLE.
  • Каждый IPv4-адрес должен быть адресом в частной сети. См . статью RFC 1918 на веб-сайте IETF.

Укажите первый узел кластера, который настроен как основной узел MySQL, посредством и .

[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

Создайте файл на первом настроенном узле. Например, при выполнении команды :

ghe-data-node-1:~$ sudo vim /data/user/common/cluster.conf