Поделиться через


Устранение неполадок при публикации предложения контейнера на основе приложений 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, как показано в следующем примере:

Снимок экрана: файл createUiDefinition.json с соответствующими параметрами.

Присвойте свойству AllowExisting значение true, приложение можно развернуть в группе ресурсов, которая не пуста. Пример файла CreateUIDefinition см. в примере createUiDefinition.json.

Сбой публикации с ошибками платформы

Ошибка Описание Действие
Внутренняя ошибка сервера Может быть временной ошибкой. Повторите попытку публикации.

Сканер уязвимостей

Также могут возникнуть ошибки из-за уязвимостей в образах. Дополнительные сведения о проверке уязвимостей и устранении проблем см. в разделе "Устранение неполадок с сертификацией контейнеров".