Необходимые компоненты
- Необходим файл лицензии GitHub Enterprise. Дополнительные сведения см. в разделе [AUTOTITLE и Настройка пробной версии GitHub Enterprise Server](/billing/concepts/enterprise-billing/ghes-license-files).
- У вас должна быть учетная запись Google Cloud Platform, способная запускать экземпляры виртуальной машины (VM) Google Compute Engine (GCE). Дополнительные сведения см. на веб-сайте Google Cloud Platform и документации по Google Cloud Platform.
- Большинство действий, необходимых для запуска экземпляра, также могут выполняться с помощью консоли Google Cloud Platform. Однако для начальной настройки рекомендуется установить средство командной строки вычислений gcloud. Ниже приведены примеры использования средства командной строки вычислений gcloud. Дополнительные сведения см . в руководстве по установке и настройке вычислений gcloud в документации Google.
Рекомендации по оборудованию
Минимальные рекомендуемые требования
Мы рекомендуем разные конфигурации оборудования в зависимости от количества пользовательских лицензий для ваш экземпляр GitHub Enterprise Server. Если вы подготавливаете больше ресурсов, чем минимальные рекомендуемые требования, экземпляр будет работать и масштабироваться лучше.
| Лицензии пользователей | Виртуальные ЦП x86-64 | Память | Корневое хранилище | Подключенное хранилище (данные) | ОПЕРАЦИЙ ВВОДА-ВЫВОДА |
|---|---|---|---|---|---|
| Пробная версия, демонстрационная версия или 10 облегченных пользователей | 4 | 32 Гб | 400 ГБ | 500 ГБ | 600 |
| До 1000 | 8 | 48 ГБ | 400 ГБ | 500 ГБ | 3000 |
| 1000 до 3000 | 16 | 64 ГБ | 400 ГБ | 1000 ГБ | 6000 |
| От 3000 до 5000 | 32 | 128 ГБ | 400 ГБ | 1500 ГБ | 9000 |
| 5 000 до 8 000 | 48 | 256 ГБ | 400 ГБ | 3000 ГБ | 12 000 |
| от 8000 до 10000 и выше | 64 | 512 ГБ | 400 ГБ | 5000 ГБ | 15000 |
Если вы планируете включить GitHub Actions или GitHub Code Security для пользователей экземпляра, требуются дополнительные ресурсы.
- GitHub Actions — увеличьте объем ЦП и памяти по крайней мере на 25 %
- GitHub Code Security — увеличьте объем ЦП и памяти по крайней мере на 25 %
Эти корректировки должны применяться к базовым требованиям для каждого уровня пользователей. Рекомендуется отслеживать все изменения ресурсов, так как может потребоваться дальнейшее увеличение.
Дополнительные сведения об этих требованиях см. в разделе Начало работы с GitHub Actions for GitHub Enterprise Server.
Если вы планируете включить Container registry его для пользователей вашего экземпляра, потребуется больше ресурсов. Дополнительные сведения об этих требованиях см. в разделе Начало работы с пакетами GitHub для вашего предприятия.
Дополнительные сведения о настройке ресурсов для существующего экземпляра см. в разделе [AUTOTITLE и Увеличение емкости хранилища](/admin/monitoring-and-managing-your-instance/updating-the-virtual-machine-and-physical-resources/increasing-cpu-or-memory-resources).
Хранилище
Мы рекомендуем высокопроизводительный SSD с высоким количеством операций ввода/вывода в секунду (IOPS) и низкой задержкой для GitHub Enterprise Server. Рабочие нагрузки интенсивно используют ввод-вывод. Если используется гипервизор без операционной системы, рекомендуется напрямую подключить диск или использовать диск из сети хранения данных (SAN).
Для экземпляра требуется постоянный диск данных, отделенный от корневого диска. Дополнительные сведения см. в разделе Обзор системы.
Предупреждение
Корневое хранилище ссылается на общий размер корневого диска экземпляра. Когда экземпляр загрузится, в корневой файловой системе доступно 200 ГБ. Оставшиеся 200 ГБ зарезервированы для апгрейдов. Дополнительные сведения см. в разделе Обзор системы.
Для настройки GitHub Actionsнеобходимо предоставить внешнее хранилище blob. Дополнительные сведения см. в разделе Начало работы с GitHub Actions for GitHub Enterprise Server.
Доступное пространство в корневой файловой системе будет составлять 50 % от общего размера диска. Можно изменить размер корневого диска экземпляра, создав новый экземпляр или используя существующий. Дополнительные сведения см. в разделе [AUTOTITLE и Обзор системы](/admin/monitoring-and-managing-your-instance/updating-the-virtual-machine-and-physical-resources/increasing-storage-capacity).
ЦП и память
Ресурсы процессора и памяти, которые GitHub Enterprise Server требуются, зависят от уровня активности пользователей, автоматизаций и интеграций.
Любые виртуальные машины, которые вы настраиваете ваш экземпляр GitHub Enterprise Server , должны использовать архитектуру процессора x86-64. Другие архитектуры не поддерживаются, например AArch64 или arm64.
Если вы планируете включить GitHub Actions это для пользователей вашего GitHub Enterprise Server экземпляра, возможно, потребуется предоставить дополнительные ресурсы процессора и памяти для вашего экземпляра. Дополнительные сведения см. в разделе Начало работы с GitHub Actions for GitHub Enterprise Server.
При увеличении ресурсов ЦП GitHub рекомендует добавлять не менее 6,5 ГБ памяти для каждого виртуального ЦП (до 16 виртуальных ЦП), которые вы подготавливаете для экземпляра. Если используется более 16 виртуальных ЦП, вам не нужно добавлять 6,5 ГБ памяти для каждого виртуального ЦП, но необходимо отслеживать экземпляр, чтобы обеспечить достаточный объем памяти.
Предупреждение
Мы рекомендуем пользователям настроить события webhook для уведомления внешних систем о активности на GitHub Enterprise Server. Автоматические проверки изменений или опрос будут негативно влиять на производительность и масштабируемость экземпляра. Дополнительные сведения см. в разделе Сведения о веб-перехватчиках.
Для получения дополнительной информации о мониторинге ёмкости и производительности GitHub Enterprise Serverсм. Мониторинг экземпляра.
Ресурсы ЦП или памяти экземпляра можно увеличить. Дополнительные сведения см. в разделе Увеличение ресурсов ЦП или памяти.
Определение типа компьютера
Перед запуском ваш экземпляр GitHub Enterprise Server в Google Cloud Platform необходимо определить тип компьютера, который лучше всего соответствует потребностям вашей организации. Сведения о минимальных рекомендуемых требованиях см. в разделе "Минимальные рекомендуемые требованияGitHub Enterprise Server".
Вы всегда можете масштабировать ЦП или память, изменив размер экземпляра. Для изменения ресурсов, доступных для экземпляра, требуется простой для пользователей, поэтому GitHub рекомендует перенаборить ресурсы для учета масштабирования.
GitHub рекомендует для компьютера GitHub Enterprise Serverс высокой памятью общего назначения. Дополнительные сведения см. в разделе "Типы компьютеров " в документации по Google Compute Engine.
Выбор GitHub Enterprise Server изображения
-
С помощью средства командной строки вычислений gcloud выведите список общедоступных GitHub Enterprise Server образов:
gcloud compute images list --project github-enterprise-public --no-standard-images -
Запишите имя изображения для последнего образа GitHub Enterprise ServerGCE.
Настройка брандмауэра
Виртуальные машины GCE создаются как член сети, которая имеет брандмауэр. Для сети, связанной с виртуальной GitHub Enterprise Server машиной, необходимо настроить брандмауэр, чтобы разрешить необходимые порты, перечисленные в таблице ниже. Рекомендуется выборочно открывать сетевые порты на основе сетевых служб, которые необходимо предоставить для административных и пользовательских целей. Дополнительные сведения см. в разделе Сетевые порты и общие сведения о правилах брандмауэра в документации по Google Cloud Platform.
-
Создайте сеть с помощью средства командной строки вычислений gcloud. Дополнительные сведения см. в статье gcloud compute networks create in the Google documentation.
gcloud compute networks create NETWORK-NAME --subnet-mode auto -
Создайте правило брандмауэра для каждого порта в таблице ниже. Дополнительные сведения см . в документации Google по правилам брандмауэра вычислений gcloud.
$ gcloud compute firewall-rules create RULE-NAME \ --network NETWORK-NAME \ --allow tcp:22,tcp:25,tcp:80,tcp:122,udp:161,tcp:443,udp:1194,tcp:8080,tcp:8443,tcp:9418,icmpВ этой таблице определены необходимые порты и то, для чего используется каждый порт.
Порт Служба Description 22 SSH Доступ к Git по протоколу SSH. Клонирование, получение и отправка операций в поддерживаемые общедоступные и частные репозитории. 25 SMTP Поддержка SMTP с шифрованием (STARTTLS). 80 HTTP Доступ к веб-приложениям. Все запросы перенаправляются на HTTPS-порт при включении SSL. 122 SSH Доступ к оболочке экземпляра. Порт SSH по умолчанию (22) предназначен для сетевого трафика Git+SSH приложения. 161/UDP SNMP Требуется для работы протокола мониторинга сети. 443 HTTPS Доступ к веб-приложению и Git по протоколу HTTPS. 1194/UDP VPN Безопасный туннель сети репликации в конфигурации высокого уровня доступности. Зашифровано с помощью WireGuard. 8080 HTTP Веб-сайт на основе обычного текста Консоль управления. Не требуется, если только SSL не отключен вручную. 8443 HTTPS Безопасный веб-доступ Консоль управления. Требуется для базовой установки и настройки. 9418 Git Простой порт протокола Git. Клонирование и получение операций только в общедоступные репозитории. Взаимодействие по сети без шифрования Если в вашем экземпляре включен частный режим, то открытие этого порта требуется только в том случае, если вы также включили анонимный доступ для чтения Git. Дополнительные сведения см. в разделе Применение политик управления репозиториями в организации.
Выделение статического IP-адреса и его назначение виртуальной машине
Если это рабочее устройство, настоятельно рекомендуется резервировать статический внешний IP-адрес и назначать его виртуальной GitHub Enterprise Server машине. В противном случае общедоступный IP-адрес виртуальной машины не будет сохранен после перезапуска. Дополнительные сведения см. в руководстве Google по резервированию статического внешнего IP-адреса.
В конфигурациях высокого уровня доступности в рабочей среде основное устройство и устройство-реплика должны назначаться отдельным статическим IP-адресам.
Создание экземпляра GitHub Enterprise Server
Чтобы создать GitHub Enterprise Server экземпляр, необходимо создать экземпляр GCE с GitHub Enterprise Server изображением и подключить дополнительный том хранилища для данных экземпляра. Дополнительные сведения см. в разделе "Рекомендации по оборудованию".
-
С помощью инструмента командной строки вычислений gcloud создайте диск данных, который будет использоваться в качестве подключенного тома хранилища для данных вашего экземпляра, и настройте размер в зависимости от количества пользовательских лицензий. Дополнительные сведения см. в статье gcloud для вычислительных дисков, создаваемых в документации Google.
gcloud compute disks create DATA-DISK-NAME --size DATA-DISK-SIZE --type DATA-DISK-TYPE --zone ZONE -
Затем создайте экземпляр с помощью имени выбранного GitHub Enterprise Server образа и подключите диск данных. Дополнительные сведения см. в статье об экземплярах вычислений gcloud, создаваемых в документации Google.
$ gcloud compute instances create INSTANCE-NAME \ --machine-type n1-standard-8 \ --image GITHUB-ENTERPRISE-IMAGE-NAME \ --disk name=DATA-DISK-NAME \ --metadata serial-port-enable=1 \ --zone ZONE \ --network NETWORK-NAME \ --image-project github-enterprise-public
Настройка экземпляра
Чтобы настроить экземпляр, необходимо отправить файл лицензии, задать корневой пароль Консоль управления, настроить параметры экземпляра и перезапустить экземпляр.
Предупреждение
Чтобы предотвратить компрометации нового экземпляра злоумышленником, убедитесь, что вы лично задали корневой пароль Консоль управления и создадите первого пользователя как можно скорее.
-
Скопируйте общедоступное DNS-имя виртуальной машины и вставьте его в адресную строку веб-браузера.
-
В командной строке отправьте файл лицензии и задайте пароль консоли управления. Дополнительные сведения см. в разделе Скачивание лицензии для GitHub Enterprise.
-
В разделе Консоль управления"Настройка и сохранение нужных параметров". Для получения дополнительной информации см. Настройка GitHub Enterprise.
-
Экземпляр будет перезапущен автоматически.
-
Нажмите Перейти к экземпляру.