Устранение неполадок при настройке частной сети для GitHubразмещенных в организации runners
Настройка ресурсов Azure перед созданием конфигурации сети в GitHub
Убедитесь, что ресурсы Azure настроены перед добавлением конфигурации сети в GitHub.
Поддерживаемые регионы
Служба GitHub Actions поддерживает подмножество всех регионов, которые предоставляет Azure. Чтобы упростить взаимодействие между службой GitHub Actions и подсетью, подсеть должна находиться в одном из следующих поддерживаемых регионов.
EastUs
EastUs2
WestUs2
WestUs3
CentralUs
NorthCentralUs
SouthCentralUs
AustraliaEast
JapanEast
FranceCentral
GermanyWestCentral
NorthEurope
NorwayEast
SwedenCentral
SwitzerlandNorth
UkSouth
SoutheastAsia
Частная сеть Azure поддерживает запуски GPU в следующих регионах.
EastUs
WestUs
NorthCentralUs
SouthCentralUs
Частная сеть Azure поддерживает запуски Arm64 в следующих регионах.
EastUs
EastUs2
WestUs2
NorthCentralUs
SouthCentralUs
Note
Runners arm64 в настоящее время находятся в бета-версии и подвержены изменению.
Если нужный регион не поддерживается, отправьте запрос на доступность нового региона в этой форме GitHub. Для подключения виртуальных сетей между регионами Azure также можно использовать пиринг глобальной виртуальной сети. Дополнительные сведения см. в документации по Azure.
Не удалось подключиться к Интернету
GitHub, размещенных в runners, должны иметь возможность выполнять исходящие подключения к GitHub.com и другим необходимым URL-адресам для GitHub Actions.
Если GitHub Actions не может взаимодействовать с бегунами, пул никогда не сможет принести бегунов в интернет, и поэтому никакие задания не будут выбраны. В этом случае пул будет иметь следующий код ошибки.
VNetInjectionFailedToConnectToInternet
Чтобы устранить эту проблему, убедитесь, что ресурсы Azure настроены в соответствии с процедурами настройки ресурсов Azure.
Блокировка область развертывания
Вы можете поместить блокировки в подписку Или группу ресурсов Azure, которая может препятствовать созданию или удалению сетевого адаптера.
Блокировки, которые препятствуют созданию сетевых адаптеров, не могут собирать задания, а блокировки, которые препятствуют удалению сетевого адаптера либо исчерпание адресного пространства подсети (продолжая создавать сетевые адаптеры), либо имеют длительное время назначения очереди (QTA) по мере повтора исключений развертывания службы.
В этом случае пул будет иметь следующий код ошибки.
RunnerDeploymentScopeLocked
Чтобы устранить эту проблему, удалите блокировку или измените подсеть, используемую на одну без блокировки.
Развертывание заблокировано политикой
Политики можно создавать в своей группе управления, подписке, группе ресурсов или отдельных ресурсах. Наиболее распространенная политика заключается в том, что ресурс должен иметь определенные теги или иметь определенное имя.
Политика предотвратит создание сетевых адаптеров, что означает, что пул не будет получать задания, так как виртуальные машины не могут поступать в интернет.
В этом случае пул будет иметь следующий код ошибки.
RunnerDeploymentBlockedByPolicy
Чтобы устранить эту проблему, удалите политику или измените используемую подсеть на одну без политики.
Подсеть переполнена
Подсети имеют ограниченный объем IP-адресов для распространения. Каждый модуль выполнения использует один IP-адрес. Если служба пытается увеличить масштаб до максимального числа runner, она столкнется с ошибками развертывания.
Это влияет на способность пула добавлять дополнительные средства выполнения. Если глубина очереди достаточно высока, может возникнуть увеличение времени назначения очереди (QTA). Задания по-прежнему будут обрабатываться, но не на уровне параллелизма, который можно ожидать.
В этом случае пул будет иметь следующий код ошибки.
VNetInjectionSubnetIsFull
Чтобы устранить эту проблему, увеличьте размер используемой подсети или уменьшите максимальное количество бегуников пула, чтобы соответствовать размеру подсети.
Неправильные правила NSG или брандмауэра
Процедуры настройки ресурсов Azure перечислены необходимые открытия. Однако у вас могут быть сложные рабочие сети с несколькими подчиненными прокси-серверами или брандмауэрами.
Если бегуны не смогут прийти в интернет, ни один рабочий мест не будет выбран. Процесс установки может включать настройку приложения runner и обратную связь с службой GitHub Actions для указания готовности, а также получения и установки средств защиты от злоупотреблений. Если любой из этих процессов завершается ошибкой, средство выполнения не может забрать какие-либо задания.
Если у вас возникли эти проблемы, попробуйте настроить виртуальную машину в той же подсети, которую вы используете для частной сети с GitHubразмещенными средствами выполнения. Однако если у вас есть ссылка на связь службы (SAL), это невозможно.
Если у вас есть sal, попробуйте настроить аналогичную подсеть в виртуальной сети и разместить виртуальную машину в этой сети. Затем попытайтесь зарегистрировать локальное средство запуска на нем.
Сбой полезных данных HTTP-запроса при настройке ресурсов Azure
При выполнении команды для настройки ресурсов Azure убедитесь, что вы используете правильную версию API и businessId
свойство. Если вы используете другое свойство, ваша команда может вернуть следующую ошибку.
(HttpRequestPayloadAPISpecValidationFailed) HTTP request payload failed validation against API specification with one or more errors. Please see details for more information.
При возникновении этой ошибки вы можете просмотреть дополнительные сведения, выполнив команду с помощью флага ---debug
.