Потоковая передача артефактов в Реестр контейнеров 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 и может выполняться в интерактивном режиме. Обратите внимание, что заполнители следует заменить фактическими значениями перед выполнением команды.
Создайте новую Реестр контейнеров Azure (ACR) с помощью номера SKU уровня "Премиум":
Например, выполните команду az group create, чтобы создать группу ресурсов Azure с именем в регионе "Западная часть США", а затем выполните команду az acr create, чтобы создать Реестр контейнеров Azure класса Premium с именем
my-streaming-test
mystreamingtest
в этой группе ресурсов.az group create -n my-streaming-test -l westus az acr create -n mystreamingtest -g my-streaming-test -l westus --sku premium
Отправка или импорт образа в реестр с помощью:
Например, выполните команду [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
Создание потоковой передачи артефактов из образа
Инициирует создание артефакта потоковой передачи из указанного образа.
Например, выполните команды az acr artifact-streaming, чтобы создать артефакт потоковой передачи из
jupyter/all-spark-notebook:latest
образа вmystreamingtest
ACR.az acr artifact-streaming create --image jupyter/all-spark-notebook:latest
Примечание.
Идентификатор операции создается во время процесса для последующей ссылки, чтобы проверить состояние операции.
Проверьте созданную потоковую передачу артефактов в 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
Отмена создания потоковой передачи артефактов (при необходимости)
Отмените создание артефакта потоковой передачи, если преобразование еще не завершено. Она останавливает операцию.
Например, выполните команду отмены операции 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
Запуск автоконверсии в репозитории
Запустите автоконверсию в репозитории для только что отправленных или импортированных образов. При запуске новые образы, отправленные в этот репозиторий, активируют создание артефактов потоковой передачи.
Примечание.
Автоматическое преобразование не применяется к существующим изображениям. Существующие изображения можно преобразовать вручную.
Например, выполните команду az acr artifact-streaming update , чтобы запустить автоконверсию репозитория
jupyter/all-spark-notebook
вmystreamingtest
ACR.az acr artifact-streaming update --repository jupyter/all-spark-notebook --enable-streaming true
Проверьте ход преобразования потоковой передачи после отправки нового образа
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
После проверки состояния преобразования теперь можно подключиться к AKS. См. документацию по AKS.
Отключите артефакт потоковой передачи из репозитория.
Например, выполните команду 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.
Перейдите в Реестр контейнеров Azure.
В боковом меню в разделе "Службы" выберите репозитории.
Выберите последний импортированный образ.
Преобразуйте изображение и создайте потоковую передачу артефактов в портал Azure.
Проверьте артефакт потоковой передачи, созданный на вкладке "Ссылки".
Вы также можете удалить потоковую передачу артефактов из репозитория.
Вы также можете включить автоконверсию, доступ к репозиторию на портале. Активный означает, что функция автоконверсии включена в репозитории. Неактивное означает, что автоконверсия отключена в репозитории.
Примечание.
Состояние потоковой передачи артефактов в репозитории (неактивное или активное) определяет, будут ли автоматически преобразованы недавно отправленные совместимые образы. По умолчанию все репозитории находятся в неактивном состоянии для потоковой передачи артефактов. Это означает, что при отправке новых совместимых образов в репозиторий потоковая передача артефактов не будет активирована, и изображения не будут автоматически преобразованы. Если вы хотите начать автоматическое преобразование недавно отправленных образов, необходимо установить потоковую передачу артефакта репозитория в активное состояние. После того как репозиторий находится в активном состоянии, все новые совместимые образы контейнеров, отправленные в репозиторий, будут запускать потоковую передачу артефактов. Это приведет к автоматическому преобразованию этих образов.