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