Skip to main content

Устранение неполадок с конфигурациями частной сети Azure для размещенных в GitHub средств выполнения в организации

Узнайте, как устранить распространенные проблемы при создании конфигураций частной сети Azure для использования GitHubразмещенных в среде runners с виртуальной сетью Azure.

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

Владельцы организации для организаций в организации могут настроить частную сеть Azure для GitHubразмещенных на уровне организации средств выполнения.

Устранение неполадок при настройке частной сети для GitHubразмещенных в организации runners

Включение создания конфигураций сети для организаций в организации в организации

По умолчанию организации в организации не могут создавать новые конфигурации сети и наследовать только конфигурации сети корпоративного уровня. Владельцы предприятия могут задать политику, которая позволяет организациям в организации создавать конфигурации сети, которые не зависят от предприятия. Дополнительные сведения см. в разделе Настройка частной сети для размещенных на сайте GitHub средств выполнения в вашей организации.

Настройка ресурсов 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

Gpu и arm64 runner в настоящее время находятся в бета-версии и подвержены изменению.

Если нужный регион не поддерживается, отправьте запрос на доступность нового региона в этой форме 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 .