Примечание. Кластеризация GitHub Enterprise Server должна быть настроена с помощью протокола HTTPS.
Минимальные рекомендации по оборудованию
Каждый узел должен иметь корневой том, а также отдельный том данных. Ниже приведены минимальные рекомендации. В зависимости от шаблона использования может потребоваться больше ресурсов, таких как активность пользователей и выбранные интеграции.
Службы | Минимальные требования к памяти | Минимальные требования к свободному месту на диске |
---|---|---|
job-server ,memcache-server ,web-server | 14 ГБ | 1 ГБ |
consul-server ,mysql-server ,redis-server | 14 ГБ | 10 ГБ |
git-server ,metrics-server ,pages-server ,storage-server | 14 ГБ | 10 ГБ |
elasticsearch-server | 14 ГБ | 10 ГБ |
Службы, необходимые для кластеризации
Для обеспечения адекватной избыточности используйте эти минимальные узлы, на которых запущена каждая из служб.
Примечание. Потребности вашей организации в масштабируемости зависят от многих факторов, включая размер и количество репозиториев, число пользователей и общий объем использования.
Службы | Минимальное необходимое количество узлов |
---|---|
job-server ,memcache-server ,metrics-server ,web-server | 2 |
mysql-server ,redis-server | 2 |
consul-server | 3 |
git-server ,pages-server ,storage-server | 3 |
elasticsearch-server | 3 |
Рекомендации по проектированию кластеров
Кластеризация позволяет службам, составляющим GitHub Enterprise Server, масштабироваться независимо друг от друга. Такие гибкие возможности можно использовать для проектирования и реализации кластера, который соответствует требованиям к масштабированию для различных организаций. Например, некоторым организациям может потребоваться больше пропускной способности хранилища для крупных или регулярных выборок, однако объем потребления ресурсов веб-сервера может быть относительно низким. В другой организации может быть высокая производительность при меньшем объеме ресурсов хранилища, однако требуется много узлов, где запущен pages-server
или elasticsearch-server
. Возможно множество различных комбинаций. Обратитесь к своему менеджеру по работе с клиентами, чтобы определить оптимальную конфигурацию кластера для конкретных потребностей.
- Распределите избыточные узлы по различным независимым единицам оборудования. При совместном использовании ресурсов ЦП, памяти или устройств хранения снижается производительность и добавляются отдельные точки отказа. Общие сетевые компоненты также могут снижать пропускную способность и повышать риск потери соединения в случае сбоя.
- Используйте быстрое хранение. Сети хранения данных (SAN) зачастую оптимизированы для максимального потребления ресурсов пространства, доступности и отказоустойчивости, а не для абсолютной пропускной способности. Кластеризация GitHub Enterprise Server обеспечивает избыточность и доступность и оптимальную производительность при использовании максимально быстрого хранилища. Рекомендуется использовать локальное хранилище SSD.
- Установите уровни узлов, которые подходят для вашей организации. Пример конфигурации:
- Уровень интерфейса с двумя узлами и следующими службами:
web-server
job-server
memcache-server
- Уровень базы данных с тремя узлами и следующими службами:
consul-server
mysql-server
redis-server
- Уровень поиска с тремя узлами и следующей службой:
elasticsearch-server
- Уровень хранилища с тремя узлами и следующими службами:
git-server
pages-server
storage-server
metrics-server
- Уровень интерфейса с двумя узлами и следующими службами: