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

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

Это важно

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

Как работает потоковая передача артефактов

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

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

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

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

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

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

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

Цены и доступность

Потоковая передача артефактов в настоящее время доступна только для уровня служб"Премиум" (SKU).

Использование потоковой передачи артефактов может увеличить общее потребление хранилища реестра. Если потребление превышает пороговое значение 500 ГиБ для SKU класса Premium, вы можете понести дополнительные расходы, как описано в тарифах.

Текущие ограничения и требования

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

  • В предварительной версии поддерживаются только образы с архитектурой Linux AMD64.
  • Предварительный выпуск не поддерживает образы контейнеров на основе Windows и образы ARM64.
  • Предварительный выпуск частично поддерживает образы с несколькими архитектурами; поддерживается только архитектура AMD64.
  • Чтобы создать пул узлов на основе Ubuntu в AKS, необходимо использовать Ubuntu версии 20.04 или более поздней.
  • Для Kubernetes необходимо использовать Kubernetes версии 1.26 или более поздней.
  • На данный момент реестры CMK (ключи, управляемые клиентом) не поддерживаются.
  • Kubernetes regcred в настоящее время не поддерживается.

Используйте портал Azure или Azure CLI для управления потоковой передачей артефактов. Для Azure CLI можно использовать Azure Cloud Shell или локальную установку Azure CLI для выполнения примеров команд в этой статье. Чтобы выполнить установку или обновление, см. сведения в статье Установка Azure CLI. Рекомендуется использовать последнюю версию Azure CLI. Для команд в этой статье требуется Azure CLI версии 2.54.0 или более поздней.

Примечание.

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

Включение потоковой передачи артефактов и управление ими

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

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

В этих примерах Azure CLI используется для работы с реестром контейнеров уровня 'Премиум' с именем mystreamingtest в группе ресурсов my-streaming-test, расположенной в западной части США, а также с примером образа Jupyter Notebook. Замените эти имена собственными значениями.

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

Сначала выполните команду az config , чтобы задать имя реестра в качестве значения по умолчанию для az acr команд:

az config set defaults.acr="mystreamingtest"

Если у вас еще нет образа, который вы хотите использовать, выполните команду az acr import , чтобы импортировать образ Jupyter Notebook из Docker Hub:

az acr import --source docker.io/jupyter/all-spark-notebook:latest -t jupyter/all-spark-notebook:latest

Примечание.

Если вы видите ошибку из реестра Docker, это может быть связано с ограничением скорости. Чтобы избежать этой ошибки, попробуйте выполнить проверку подлинности в Docker Hub, указав идентификатор Docker и пароль с помощью --username--password параметров в команде az acr import .

Чтобы создать стриминговый артефакт на основе образа, выполните команду az acr artifact-streaming create.

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

Идентификатор операции создается во время этого процесса. Если вы хотите остановить процесс создания стримингового артефакта, выполните команду az acr artifact-streaming operation cancel с идентификатором операции:

az acr artifact-streaming operation cancel --repository jupyter/all-spark-notebook --id c015067a-7463-4a5a-9168-3b17dbe42ca3

После создания артефакта потоковой передачи можно подтвердить его создание с помощью az acr manifest list-referrers для перечисления артефактов потоковой передачи:

az acr manifest list-referrers -n jupyter/all-spark-notebook:latest

Управление потоковой передачей артефактов для новых образов в репозитории

По умолчанию только что отправленные или импортированные образы в репозитории не включены автоматически для потоковой передачи артефактов. Чтобы убедиться, что новые образы, отправленные в репозиторий, автоматически вызывают создание потоковых артефактов, используйте команду az acr artifact-streaming update в репозитории.

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

Примечание.

Существующие образы в репозитории не преобразуются автоматически при выполнении этой команды.

Чтобы убедиться, что автоматическое преобразование работает, загрузите новый образ в репозиторий, а затем выполните команду az acr artifact-streaming operation show :

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

Убедившись, что преобразование работает, вы можете передавать образы из ACR в кластеры Службы Azure Kubernetes (AKS).

Чтобы отключить автоматическое преобразование артефактов стриминга в репозитории, запустите команду az acr artifact-streaming update и установите --enable-streaming на false:

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