Вы можете развернуть GitHub Enterprise Server в глобальной среде Azure или Azure для государственных организаций.
Необходимые компоненты
- Необходим файл лицензии GitHub Enterprise. Дополнительные сведения см. в разделе "[AUTOTITLE" и "Настройка пробной версии GitHub Enterprise Server](/billing/managing-your-license-for-github-enterprise/about-licenses-for-github-enterprise)".
- Необходима учетная запись Azure, которая может подготавливать к работе новые компьютеры. Дополнительные сведения см. на веб-сайте Майкрософт.
- Большинство действий, необходимых для запуска виртуальной машины (VM), также можно выполнить с помощью портала Azure. Однако для начальной настройки рекомендуется установить интерфейс командной строки (CLI) Azure. Ниже приведены примеры использования Azure CLI 2.0. Дополнительные сведения см. в руководстве по установке Azure CLI 2.0.
Рекомендации по оборудованию
Минимальные требования
Рекомендуется использовать разные конфигурации оборудования в зависимости от количества пользовательских лицензий для ваш экземпляр GitHub Enterprise Server. Если подготовить больше ресурсов, чем минимальные требования, экземпляр будет работать и масштабировать лучше.
Лицензии пользователей | Виртуальные ЦП x86-64 | Память | Корневое хранилище | Подключенное хранилище (данные) |
---|---|---|---|---|
Пробная версия, демонстрационная версия или 10 облегченных пользователей | 4 | 32 Гб | 200 ГБ | 150 ГБ |
от 10 до 3000 | 8 | 48 ГБ | 200 ГБ | 300 ГБ |
от 3000 до 5000 | 12 | 64 ГБ | 200 ГБ | 500 ГБ |
от 5000 до 8000 | 16 | 96 ГБ | 200 ГБ | 750 ГБ |
от 8000 до 10000 и выше | 20 | 160 ГБ | 200 ГБ | 1000 ГБ |
Если вы планируете включить GitHub Actions для пользователей экземпляра, требуются дополнительные ресурсы.
Дополнительные сведения об этих требованиях см. в разделе "Начало работы с GitHub Actions для сервера GitHub Enterprise".
Если вы планируете включить Container registry для пользователей экземпляра, потребуется больше ресурсов. Дополнительные сведения об этих требованиях см. в разделе "Начало работы с GitHub Packages для вашего предприятия".
Дополнительные сведения о настройке ресурсов для существующего экземпляра см. в разделе[ "AUTOTITLE" и "Увеличение емкости хранилища](/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/increasing-cpu-or-memory-resources)".
Хранилище
Рекомендуется использовать высокопроизводительный SSD с высокой скоростью операций ввода-вывода в секунду (IOPS) и низкой задержкой для GitHub Enterprise Server. Рабочие нагрузки интенсивно используют ввод-вывод. Если используется гипервизор без операционной системы, рекомендуется напрямую подключить диск или использовать диск из сети хранения данных (SAN).
Для экземпляра требуется постоянный диск данных, отделенный от корневого диска. Дополнительные сведения см. в разделе Обзор системы.
Чтобы настроить GitHub Actions, необходимо предоставить внешнее хранилище BLOB-объектов. Дополнительные сведения см. в разделе Начало работы с GitHub Actions для сервера GitHub Enterprise.
Доступное пространство в корневой файловой системе будет составлять 50 % от общего размера диска. Можно изменить размер корневого диска экземпляра, создав новый экземпляр или используя существующий. Дополнительные сведения см. в разделе "[AUTOTITLE" и "Обзор системы](/admin/enterprise-management/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 для сервера GitHub Enterprise.
При увеличении ресурсов ЦП GitHub рекомендует добавлять не менее 6,5 ГБ памяти для каждого виртуального ЦП (до 16 виртуальных ЦП), которые вы подготавливаете для экземпляра. Если используется более 16 виртуальных ЦП, вам не нужно добавлять 6,5 ГБ памяти для каждого виртуального ЦП, но необходимо отслеживать экземпляр, чтобы обеспечить достаточный объем памяти.
Предупреждение. Пользователям рекомендуется настраивать события веб-перехватчика для уведомления внешних систем о действиях на GitHub Enterprise Server. Автоматические проверки изменений или опрос будут негативно влиять на производительность и масштабируемость экземпляра. Дополнительные сведения см. в разделе Сведения о веб-перехватчиках.
Дополнительные сведения о мониторинге емкости и производительности GitHub Enterprise Serverсм. в разделе "Мониторинг экземпляра".
Ресурсы ЦП или памяти экземпляра можно увеличить. Дополнительные сведения см. в разделе Увеличение ресурсов ЦП или памяти.
Определение типа виртуальной машины
Перед запуском ваш экземпляр GitHub Enterprise Server в Azure необходимо определить тип компьютера, который лучше всего соответствует потребностям вашей организации. Дополнительные сведения об оптимизированных для памяти компьютерах см. в документации по Microsoft Azure с оптимизированными размерами виртуальных машин, оптимизированными для памяти. Минимальные требования к ресурсам для GitHub Enterprise Server см. в разделе Минимальные требования.
Вы всегда можете масштабировать ЦП или память, изменив размер экземпляра. Для изменения ресурсов, доступных для экземпляра, требуется простой для пользователей, поэтому GitHub рекомендует перенаборить ресурсы для учета масштабирования.
Для устройства GitHub Enterprise Server требуется диск данных хранилища класса Premium, который поддерживается на любой виртуальной машине Azure, поддерживающей хранилище класса Premium. Типы виртуальных машин Azure с суффиксом s
поддерживают хранилище класса Premium. Дополнительные сведения см. в разделах Типы дисков, доступные в Azure. и Хранилище Azure класса Premium: проектирование для высокой производительности в документации Azure.
GitHub рекомендует оптимизированную для памяти виртуальную машину для GitHub Enterprise Server. Дополнительные сведения см. в разделе Размеры виртуальных машин, оптимизированных для памяти документации Azure.
GitHub Enterprise Server поддерживает любой регион, поддерживающий ваш тип виртуальной машины. Дополнительные сведения о поддерживаемых регионах для каждой виртуальной машины см. в разделе Доступные продукты по регионам.
Создание виртуальной машины GitHub Enterprise Server
Чтобы создать экземпляр, необходимо импортировать образ GitHub Enterprise Server на виртуальную машину и подключить дополнительный том хранилища для данных экземпляра. Дополнительные сведения см. в разделе Рекомендации в отношении оборудования.
-
Найдите самый последний образ устройства GitHub Enterprise Server. Дополнительные сведения о команде
vm image list
см. в разделеaz vm image list
документации Майкрософт.az vm image list --all -f GitHub-Enterprise | grep '"urn": "GitHub:' | sort -V
-
Создайте виртуальную машину с помощью найденного образа устройства. Дополнительные сведения см. в статье az vm create в документации Майкрософт.
Передайте параметры для имени виртуальной машины, группы ресурсов, размера виртуальной машины, имени предпочтительного региона Azure, имени виртуальной машины образа устройства, которое было указано на предыдущем шаге, и номера SKU хранилища для хранилища премиум-класса. Дополнительные сведения о группах ресурсов см. в документации Майкрософт.
az vm create -n VM_NAME -g RESOURCE_GROUP --size VM_SIZE -l REGION --image APPLIANCE_IMAGE_NAME --storage-sku Premium_LRS
-
Настройте параметры безопасности на виртуальной машине, чтобы открыть необходимые порты. Рекомендуется выборочно открывать сетевые порты на основе сетевых служб, которые необходимо предоставить для административных и пользовательских целей. Дополнительные сведения см. в разделе "Сетевые порты" и az vm open-port в документации Майкрософт. В таблице ниже приведено описание каждого порта, чтобы определить, какие порты необходимо открыть.
az vm open-port -n VM_NAME -g RESOURCE_GROUP --port PORT_NUMBER
Эта таблица определяет, для чего используется каждый порт.
Порт Служба 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. Дополнительные сведения см. в разделе Применение политик управления репозиториями в организации. -
Создайте и подключите к виртуальной машине новый незашифрованный диск данных, настроив размер в соответствии с количеством лицензий пользователя. Дополнительные сведения см. в статье az vm disk attach in the Microsoft documentation.
Передайте параметры для имени виртуальной машины (например,
ghe-acme-corp
), группы ресурсов, номера SKU премиум-хранилища, размера диска (например,200
) и имени полученного виртуального жесткого диска.az vm disk attach --vm-name VM_NAME -g RESOURCE_GROUP --sku Premium_LRS --new -z SIZE_IN_GB --name ghe-data.vhd --caching ReadWrite
Примечание. Для непроизводственных экземпляров достаточной пропускной способности ввода-вывода рекомендуемый минимальный размер диска составляет 150 ГиБ с включенным кэшем чтения и записи (
--caching ReadWrite
).
Настройка виртуальной машины GitHub Enterprise Server
Чтобы настроить экземпляр, необходимо подтвердить состояние экземпляра, отправить файл лицензии, задать пароль root Консоль управления пароль, настроить параметры экземпляра и перезапустить экземпляр.
Предупреждение. Чтобы предотвратить компрометации нового экземпляра злоумышленником, убедитесь, что вы лично задали пароль root Консоль управления и создайте первого пользователя как можно скорее.
-
Перед настройкой виртуальной машины необходимо дождаться ее перехода в состояние ReadyRole. Проверьте состояние виртуальной машины с помощью команды
vm list
. Дополнительные сведения см. в разделе az vm list в документации Майкрософт.$ az vm list -d -g RESOURCE_GROUP -o table > Name ResourceGroup PowerState PublicIps Fqdns Location Zones > ------ --------------- ------------ ------------ ------- ---------- ------- > VM_NAME RESOURCE_GROUP VM running 40.76.79.202 eastus
Примечание. Azure не создает запись FQDNS для виртуальной машины автоматически. Дополнительные сведения см. в руководстве по Созданию полного доменного имени в портал Azure виртуальной машины Linux.
- Скопируйте общедоступное DNS-имя виртуальной машины и вставьте его в адресную строку веб-браузера.
-
В командной строке отправьте файл лицензии и задайте пароль консоли управления. Дополнительные сведения см. в разделе Управление лицензией для GitHub Enterprise.
-
В Консоль управления настройте и сохраните нужные параметры. Дополнительные сведения см. в разделе "Настройка GitHub Enterprise".
- Экземпляр будет перезапущен автоматически.
-
Нажмите Перейти к экземпляру.
Функции расширения Azure
GitHub Enterprise Server не поддерживает установку функций расширения Azure. Образ GitHub Enterprise Server поставляется с настраиваемым waagent
пакетом, который поддерживает только основные функции управления виртуальными машинами и блокирует расширенные функции управления виртуальными машинами.
Чтобы избежать нестабильности системы экземпляра walinuxagent
GitHub Enterprise Server служба намеренно выполняется в GitHub Enterprise Server в ограниченном режиме, явно не разрешая агенту устанавливать другие агенты. Функции управления виртуальными машинами, основанные на дополнительных агентах и расширениях за пределами того, что поставляется с образом GitHub Enterprise Server, например расширение агента мониторинга для Azure Insights или Azure Backups, не поддерживается.
Так как GitHub Enterprise Server запускает настраиваемую операционную систему Linux только с необходимыми приложениями и службами, установка или обновление пакетов операционной системы вручную перезаписывает эти настройки и может привести к неожиданному поведению. Дополнительные сведения см. в разделе Обзор системы.