Устранение неполадок при публикации предложения контейнера на основе приложений Kubernetes
После публикации предложение контейнера на основе приложений Kubernetes проходит следующий высокоуровневый поток обработки пакетов.
Во-первых, содержимое пакета облачных собственных приложений (CNAB) копируется из собственного реестра в принадлежащий Майкрософт Реестр контейнеров Azure (ACR). Оттуда выполняется сканирование уязвимостей, чтобы обеспечить безопасность изображений. Наконец, приложение Kubernetes регистрируется в качестве типа расширения для кластера Служба Azure Kubernetes (AKS). Если публикация завершается ошибкой, может возникнуть проблема с одним из этих компонентов. Ниже приведены распространенные ошибки и связанные действия по устранению рисков.
Сбой публикации с отсутствующими артефактами в CNAB
Ошибка | Описание | Действие |
---|---|---|
"extensionRegistrationParameters не может быть null или пустым в manifest.yaml пакета. Дополнительные сведения см. в разделе "Создание файла манифеста" | Приложения Kubernetes упаковываются в виде расширений кластера AKS. Файл манифеста предоставляет входные данные для создания типа расширения. | Ознакомьтесь с описанием каждого свойства и укажите сведения. |
"Пространство имен не может быть пустым или пустым для defaultScope в качестве кластера в extensionRegistrationParameters в manifest.yaml пакета. Дополнительные сведения см. в разделе "Создание файла манифеста" | Приложения Kubernetes, установленные в области кластера, используют область по умолчанию, указанную в качестве пространства имен. | Обязательно укажите пространство имен в разделе в extensionRegistrationParameters файле манифеста |
Публикация завершается сбоем при копировании артефактов из ACR в ACR, принадлежащей Майкрософт.
Ошибка | Описание | Действие |
---|---|---|
"Доступ к реестру {sourceACRName} был отклонен. Необходимо предоставить доступ к реестру MarketPlace. Дополнительные сведения см. в статье Предоставление доступа к Реестр контейнеров Azure | Во время публикации корпорация Майкрософт перемещает приложение Kubernetes, которое упаковывается как CNAB и передается в ACR в реестр, принадлежащий Майкрософт. Для этого первое приложение Майкрософт, ответственное за этот процесс, должно быть предоставлено с разрешениями. Эта ошибка возникает, если публикация Marketplace была выполнена без предоставления разрешений. |
Дополнительные сведения см. в разделе "Предоставление первого приложения Майкрософт с соответствующими разрешениями". |
"Репозиторий CNAB {cnabBundle} не найден в реестре {sourceACRName}. Необходимо предоставить доступ к реестру MarketPlace. Дополнительные сведения см. в статье Предоставление доступа к Реестр контейнеров Azure | Приложение Kubernetes, упаковаемое с помощью средства CPA, невозможно найти в ACR. | Убедитесь, что пакет успешно отправлен в реестр и предоставьте первое приложение Майкрософт с соответствующими разрешениями. |
"CNAB был обновлен без обновления версии. Необходимо снова опубликовать и увеличить версию от {latestBundle.tag} до {currentTag.Major}. {currentTag.Minor}. {currentTag.Build + 1}". | План с той же версией уже опубликован с помощью другого CNAB. | Если содержимое CNAB изменено, добавите версию плана и повторите публикацию. |
Сбой публикации с параметром "AllowExisting resourceGroup AllowExisting должен иметь значение true в ошибке CreateUIDefinition's config'
Эта ошибка возникает, если свойство resourceGroup > allowExisting в createUiDefinition.json
файле параметров базовых > параметров > > не существует или не имеет значения true.
Чтобы устранить эту ошибку, убедитесь, что свойство имеет значение true, как показано в следующем примере:
Присвойте свойству AllowExisting значение true, приложение можно развернуть в группе ресурсов, которая не пуста. Пример файла CreateUIDefinition см. в примере createUiDefinition.json.
Сбой публикации с ошибками платформы
Ошибка | Описание | Действие |
---|---|---|
Внутренняя ошибка сервера | Может быть временной ошибкой. | Повторите попытку публикации. |
Сканер уязвимостей
Также могут возникнуть ошибки из-за уязвимостей в образах. Дополнительные сведения о проверке уязвимостей и устранении проблем см. в разделе "Устранение неполадок с сертификацией контейнеров".