Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Из этой статьи вы узнаете, как развернуть подключенное расширение реестра в кластере Kubernetes с поддержкой Arc с помощью Azure CLI.
Функция связанного реестра контейнеров Azure позволяет эффективно управлять контейнеризованными рабочими нагрузками, как в локальных условиях, так и на удаленных площадках. Развертывание расширения подключенного реестра Arc в кластерах Kubernetes с поддержкой Arc упрощает управление и доступ к этим рабочим нагрузкам.
Предпосылки
Реестр контейнеров Azure (ACR) с уровнем служб "Премиум" (SKU) с по крайней мере одним репозиторием и подключенным реестром. Если у вас еще нет подключенного ресурса реестра, выполните действия, описанные в разделе "Создание подключенного реестра".
Последняя версия Azure CLI.
Последние версии расширений
connectedk8sk8s-extensionAzure CLI. Чтобы установить эти расширения, выполните следующие команды:az extension add --name k8s-extension az extension add --name connectedk8s
Разверните расширение подключенного реестра в кластере Kubernetes с поддержкой Arc
Развернув расширение Arc для подключенного реестра, вы можете синхронизировать образы контейнеров и другие артефакты Open Container Initiative (OCI) с реестром ACR. Развертывание помогает ускорить доступ к артефактам реестра и позволяет создавать расширенные сценарии. Развертывание расширения обеспечивает безопасное распределение доверия между подключенным реестром и всеми клиентскими узлами в кластере и устанавливает службу cert-manager для шифрования TLS.
Дополнительные сведения о развертывании расширений в кластерах Kubernetes с поддержкой Azure Arc см. в статье "Развертывание и управление расширением кластера Kubernetes с поддержкой Azure Arc".
Создание строки подключения и защищенных параметров JSON-файла
Для безопасного развертывания подключенного расширения реестра создайте строку подключения, включая новый пароль и спецификацию протокола транспорта, а также сохраните сведения в protected-settings-extension.json файле.
cat << EOF > protected-settings-extension.json
{
"connectionString": "$(az acr connected-registry get-settings \
--name myconnectedregistry \
--registry myacrregistry \
--parent-protocol https \
--generate-password 1 \
--query ACR_REGISTRY_CONNECTION_STRING --output tsv --yes)"
}
EOF
Развертывание расширения подключенного реестра
Затем разверните подключенное расширение реестра в кластере Kubernetes с поддержкой Arc, ссылаясь на созданный JSON-файл. Используйте команду az k8s-extension create :
az k8s-extension create --cluster-name myarck8scluster \
--cluster-type connectedClusters \
--extension-type Microsoft.ContainerRegistry.ConnectedRegistry \
--name myconnectedregistry \
--resource-group myresourcegroup \
--config service.clusterIP=192.100.100.1 \
--config-protected-file protected-settings-extension.json
--auto-upgrade-minor-version true
clusterIP должен быть из диапазона IP-адресов подсети кластера. Параметр service.clusterIP задает IP-адрес подключенной службы реестра в кластере. Убедитесь, что указанный вами IP-адрес для service.clusterIP попадает в назначенный диапазон IP-адресов службы, определенный во время начальной конфигурации кластера, обычно находящийся в параметрах сети кластера. Если service.clusterIP не находится в этом диапазоне, обновите его на IP-адрес, который находится в допустимом диапазоне и в то же время не используется другой службой.
Подсказка
В этом примере можно включить автоматическое обновление для подключенного расширения реестра всякий раз, когда станет доступна новая версия. Если вы предпочитаете не выполнять автоматическое обновление, используйте --auto-upgrade-minor-version false.
Чтобы развернуть определенную версию подключенного расширения реестра, укажите параметр --version <version number> в командной строке с использованием команды az-k8s-extension-create.
Проверка развертывания расширения подключенного реестра
Чтобы проверить развертывание подключенного расширения реестра в кластере Kubernetes с поддержкой Arc, выполните команду az k8s-extension show , чтобы проверить состояние развертывания подключенного расширения реестра:
az k8s-extension show
--name myconnectedregistry \
--cluster-name myarck8scluster \
--resource-group myresourcegroup \
--cluster-type connectedClusters
Пример выходных данных см. в разделе "Показать сведения о расширении".
Затем для каждого подключенного реестра просмотрите состояние и состояние подключенного реестра с помощью команды az acr connected-registry list :
az acr connected-registry list --registry myacrregistry \
--output table
Выходные данные должны соответствовать следующему примеру.
| NAME | MODE | CONNECTION STATE | PARENT | LOGIN SERVER | LAST SYNC(UTC) |
|------|------|------------------|--------|--------------|----------------|
| myconnectedregistry | ReadWrite | online | myacrregistry | myacrregistry.azurecr.io | 2026-01-09 12:00:00 |
| myreadonlyacr | ReadOnly | offline | myacrregistry | myacrregistry.azurecr.io | 2026-01-09 12:00:00 |
Чтобы получить сведения о конкретном подключенном реестре, используйте команду az acr connected-registry show:
az acr connected-registry show --registry myacrregistry \
--name myreadonlyacr \
--output table
Эта команда показывает выходные данные, аналогичные следующему примеру:
| NAME | MODE | CONNECTION STATE | PARENT | LOGIN SERVER | LAST SYNC(UTC) | SYNC SCHEDULE | SYNC WINDOW |
| ------------------- | --------- | ---------------- | ------------- | ------------------------ | ------------------- | ------------- | ----------------- |
| myconnectedregistry | ReadWrite | online | myacrregistry | myacrregistry.azurecr.io | 2026-01-09 12:00:00 | 0 0 * * * | 00:00:00-23:59:59 |
Разверните pod, который использует образ из подключенного реестра
Чтобы развернуть модуль pod, использующий образ из подключенного реестра в кластере, выполните операцию с самого узла кластера.
Выполните команду kubectl create secret docker-registry , чтобы создать секрет в кластере для проверки подлинности в подключенном реестре:
kubectl create secret docker-registry regcred --docker-server=192.100.100.1 --docker-username=mytoken --docker-password=mypasswordРазверните модуль pod, использующий нужный образ из подключенного реестра. В этом примере используется адрес
192.100.100.1service.clusterIP и имя образаhello-worldс меткойlatest:kubectl apply -f - <<EOF apiVersion: apps/v1 kind: Deployment metadata: name: hello-world-deployment labels: app: hello-world spec: selector: matchLabels: app: hello-world replicas: 1 template: metadata: labels: app: hello-world spec: imagePullSecrets: - name: regcred containers: - name: hello-world image: 192.100.100.1/hello-world:latest EOF
Очистите ресурсы
Если вы больше не хотите использовать подключенный реестр, удалите расширение из кластера Kubernetes с поддержкой Arc, а затем удалите подключенный ресурс реестра.
Выполните команду az k8s-extension delete , чтобы удалить подключенное расширение реестра:
az k8s-extension delete --name myconnectedregistry --cluster-name myarcakscluster \ --resource-group myresourcegroup \ --cluster-type connectedClustersВыполните команду az acr connected-registry delete , чтобы удалить подключенный ресурс реестра:
az acr connected-registry delete --registry myacrregistry \ --name myconnectedregistry \ --resource-group myresourcegroup