Потоковая передача артефактов в Реестр контейнеров Azure (предварительная версия)

Потоковая передача артефактов — это функция в Реестр контейнеров Azure, которая позволяет хранить образы контейнеров в одном реестре, управлять и передавать образы контейнеров в кластеры Служба Azure Kubernetes (AKS) в нескольких регионах. Эта функция предназначена для ускорения контейнерных рабочих нагрузок для клиентов Azure с помощью AKS. С помощью потоковой передачи артефактов можно легко масштабировать рабочие нагрузки, не ожидая медленного времени извлечения узла.

Случаи использования

Ниже приведено несколько сценариев для использования потоковой передачи артефактов:

Развертывание контейнерных приложений в нескольких регионах. С помощью потоковой передачи артефактов можно хранить образы контейнеров в одном реестре и управлять ими и передавать образы контейнеров в кластеры AKS в нескольких регионах. Потоковая передача артефактов развертывает приложения-контейнеры в нескольких регионах без использования времени и ресурсов.

Уменьшение задержки извлечения изображения: потоковая передача артефактов может сократить время до готовности pod к более чем 15%, в зависимости от размера изображения, и лучше всего подходит для изображений < 30 ГБ. Эта функция снижает задержку извлечения изображений и быстрый запуск контейнера, что полезно для разработчиков программного обеспечения и системных архитекторов.

Эффективное масштабирование контейнерных приложений: потоковая передача артефактов обеспечивает возможность разработки, сборки и развертывания контейнерных приложений в большом масштабе.

Аспекты потоковой передачи артефактов

Ниже приведены некоторые краткие аспекты потоковой передачи артефактов:

  • Клиенты с новыми и существующими реестрами могут начать потоковую передачу артефактов для определенных репозиториев или тегов.

  • Клиенты могут хранить исходный и потоковый артефакт в ACR, запуская потоковую передачу артефактов.

  • Клиенты имеют доступ к исходному и потоковому артефакту даже после отключения потоковой передачи артефактов для репозиториев или артефактов.

  • Клиенты с поддержкой потоковой передачи артефактов и обратимого удаления удаляют репозиторий или артефакт, а затем удаляются исходные и артефактные версии потоковой передачи. Однако на портале обратимого удаления доступна только исходная версия.

Сведения о доступности и ценах

Потоковая передача артефактов доступна только на уровнях служб Premium(также известных как номера SKU). Потоковая передача артефактов может увеличить общее потребление хранилища реестра. Клиенты получают больше расходов на хранение, как описано в наших ценах , если потребление превышает пороговое значение SKU уровня "Премиум" 500 ГиБ.

Ограничения предварительной версии

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

  • В предварительной версии поддерживаются только образы с архитектурой Linux AMD64.
  • Предварительный выпуск не поддерживает образы контейнеров на основе Windows и образы ARM64.
  • Предварительный выпуск частично поддерживает многоэкторные образы только архитектуры AMD64.
  • Для создания пула узлов на основе Ubuntu в AKS выберите Ubuntu версии 20.04 или более поздней.
  • Для Kubernetes используйте Kubernetes версии 1.26 или более поздней или Kubernetes версии > 1.25.
  • Только реестры SKU класса Premium поддерживают создание артефактов потоковой передачи в предварительной версии. Реестры SKU nonpremium не предлагают эту функцию во время предварительной версии.
  • Реестры CMK (управляемые клиентом ключи) не поддерживаются в предварительной версии.
  • В настоящее время kubernetes regcred не поддерживается.

Необходимые компоненты

  • Для выполнения примеров команд в этой статье можно использовать Azure Cloud Shell или локальную установку Azure CLI. Если вы хотите использовать его локально, требуется версия 2.54.0 или более поздняя. Выполните поиск az --version версии. Если вам необходимо выполнить установку или обновление, см. статью Установка Azure CLI 2.0.

  • Войдите на портал Azure.

Запуск потоковой передачи артефактов

Запустите потоковую передачу артефактов с помощью рядов с командами Azure CLI и портал Azure для отправки, импорта и создания артефактов потоковой передачи для образов контейнеров в Реестр контейнеров Azure (ACR). Эти инструкции описывают процесс создания ACR SKU класса Premium, импорта изображения, создания артефакта потоковой передачи и управления операцией потоковой передачи артефактов. При необходимости замените заполнители фактическими значениями.

Отправка и импорт изображения и создание артефакта потоковой передачи — Azure CLI

Потоковая передача артефактов доступна на уровне служб реестра контейнеров класса Premium . Чтобы начать потоковую передачу артефактов, обновите реестр с помощью Azure CLI (версия 2.54.0 или более поздней). Чтобы выполнить установку или обновление, см. сведения в статье Установка Azure CLI.

Запустите потоковую передачу артефактов, выполнив следующие общие действия:

Примечание.

Если у вас уже есть реестр контейнеров класса Premium, этот шаг можно пропустить. Если пользователь находится на номерах SKU уровня "Базовый" уровня "Стандартный", следующие команды завершаются ошибкой. Код написан в Azure CLI и может выполняться в интерактивном режиме. Обратите внимание, что заполнители следует заменить фактическими значениями перед выполнением команды.

  1. Создайте новую Реестр контейнеров Azure (ACR) с помощью номера SKU уровня "Премиум":

    Например, выполните команду az group create, чтобы создать группу ресурсов Azure с именем в регионе "Западная часть США", а затем выполните команду az acr create, чтобы создать Реестр контейнеров Azure класса Premium с именем my-streaming-testmystreamingtest в этой группе ресурсов.

    az group create -n my-streaming-test -l westus
    az acr create -n mystreamingtest -g my-streaming-test -l westus --sku premium
    
  2. Отправка или импорт образа в реестр с помощью:

    Например, выполните команду [az configure], чтобы настроить ACR по умолчанию и команду az acr import , чтобы импортировать образ Jupyter Notebook из Docker Hub в mystreamingtest ACR.

    az configure --defaults acr="mystreamingtest"
    az acr import -source docker.io/jupyter/all-spark-notebook:latest -t jupyter/all-spark-notebook:latest
    
  3. Создание потоковой передачи артефактов из образа

    Инициирует создание артефакта потоковой передачи из указанного образа.

    Например, выполните команды az acr artifact-streaming, чтобы создать артефакт потоковой передачи из jupyter/all-spark-notebook:latest образа в mystreamingtest ACR.

    az acr artifact-streaming create --image jupyter/all-spark-notebook:latest
    

Примечание.

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

  1. Проверьте созданную потоковую передачу артефактов в Azure CLI.

    Например, выполните команду az acr manifest list-referrers, чтобы получить список артефактов потоковой передачи для jupyter/all-spark-notebook:latest изображения в mystreamingtest ACR.

    az acr manifest list-referrers -n jupyter/all-spark-notebook:latest
    
  2. Отмена создания потоковой передачи артефактов (при необходимости)

    Отмените создание артефакта потоковой передачи, если преобразование еще не завершено. Она останавливает операцию.

    Например, выполните команду отмены операции az acr artifact-streaming, чтобы отменить операцию преобразования изображения jupyter/all-spark-notebook:latest в mystreamingtest ACR.

    az acr artifact-streaming operation cancel --repository jupyter/all-spark-notebook --id c015067a-7463-4a5a-9168-3b17dbe42ca3
    
  3. Запуск автоконверсии в репозитории

    Запустите автоконверсию в репозитории для только что отправленных или импортированных образов. При запуске новые образы, отправленные в этот репозиторий, активируют создание артефактов потоковой передачи.

    Примечание.

    Автоматическое преобразование не применяется к существующим изображениям. Существующие изображения можно преобразовать вручную.

    Например, выполните команду az acr artifact-streaming update , чтобы запустить автоконверсию репозитория jupyter/all-spark-notebook в mystreamingtest ACR.

    az acr artifact-streaming update --repository jupyter/all-spark-notebook --enable-streaming true
    
  4. Проверьте ход преобразования потоковой передачи после отправки нового образа jupyter/all-spark-notebook:newtag в указанный выше репозиторий.

    Например, выполните команду az acr artifact-streaming, чтобы проверка состояние операции преобразования изображения jupyter/all-spark-notebook:newtag в mystreamingtest ACR.

    az acr artifact-streaming operation show --image jupyter/all-spark-notebook:newtag
    

Примечание.

Потоковая передача артефактов может работать в разных регионах независимо от того, запускается ли геоза реплика. Потоковая передача артефактов может работать через частную конечную точку и присоединять к ней.

Отправка и импорт изображения и создание артефакта потоковой передачи — портал Azure

Потоковая передача артефактов доступна в Реестр контейнеров Azure SKU уровня "Премиум". Чтобы начать потоковую передачу артефактов, обновите реестр с помощью портал Azure.

Выполните действия, чтобы создать потоковую передачу артефактов в портал Azure.

  1. Перейдите в Реестр контейнеров Azure.

  2. В боковом меню в разделе "Службы" выберите репозитории.

  3. Выберите последний импортированный образ.

  4. Преобразуйте изображение и создайте потоковую передачу артефактов в портал Azure.

    A screenshot of Azure portal with the create streaming artifact button highlighted.

  5. Проверьте артефакт потоковой передачи, созданный на вкладке "Ссылки".

    A screenshot of Azure portal with the streaming artifact highlighted.

  6. Вы также можете удалить потоковую передачу артефактов из репозитория.

    A screenshot of Azure portal with the delete artifact streaming button highlighted.

  7. Вы также можете включить автоконверсию, доступ к репозиторию на портале. Активный означает, что функция автоконверсии включена в репозитории. Неактивное означает, что автоконверсия отключена в репозитории.

    A screenshot of Azure portal with the start artifact streaming button highlighted.

Примечание.

Состояние потоковой передачи артефактов в репозитории (неактивное или активное) определяет, будут ли автоматически преобразованы недавно отправленные совместимые образы. По умолчанию все репозитории находятся в неактивном состоянии для потоковой передачи артефактов. Это означает, что при отправке новых совместимых образов в репозиторий потоковая передача артефактов не будет активирована, и изображения не будут автоматически преобразованы. Если вы хотите начать автоматическое преобразование недавно отправленных образов, необходимо установить потоковую передачу артефакта репозитория в активное состояние. После того как репозиторий находится в активном состоянии, все новые совместимые образы контейнеров, отправленные в репозиторий, будут запускать потоковую передачу артефактов. Это приведет к автоматическому преобразованию этих образов.

Следующие шаги