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


Стриминг артефактов в Azure Container Registry (предварительный просмотр)

Потоковая передача артефактов — это функция в реестре контейнеров Azure, которая позволяет хранить образы контейнеров в одном реестре, управлять ими и передавать образы контейнеров в кластеры Azure Kubernetes Service (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 с именем в регионе "Западная часть США", а затем выполните my-streaming-test, чтобы создать Реестр контейнеров Azure класса Premium с именем mystreamingtest в этой группе ресурсов.

    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 operation show, чтобы проверить состояние операции преобразования для изображения в jupyter/all-spark-notebook:newtag ACR.

    az acr artifact-streaming operation show --image jupyter/all-spark-notebook:newtag
    
  5. После проверки состояния преобразования теперь можно подключиться к AKS. Смотрите документацию AKS.

  6. Отключите потоковый артефакт в репозитории.

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

    az acr artifact-streaming update --repository jupyter/all-spark-notebook --enable-streaming false
    

Примечание.

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

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

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

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

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

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

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

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

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

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

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

Примечание.

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

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