Пошаговое руководство: создание реестра контейнеров Azure и управление им

При планировании перехода и внедрения облачной платформы модернизация ваших текущих приложений с использованием технологии контейнеров будет частью обсуждений, если не основной темой вашей стратегии. Microsoft Azure — хорошее место для запуска ваших контейнеров. У него есть несколько предложений, и разработчики могут получить помощь от экосистемы для создания своих сценариев DevOps для развертывания контейнеров с использованием Microsoft Visual Studio, Windows Server и Microsoft Azure. Если вы цените согласованность, наличие одного и того же поставщика для разработки, хостинга и облачного решения является жизненно важным моментом, который следует учитывать при планировании перехода к облаку. Одним из первых компонентов, который ваша компания может начать использовать в облаке Azure, является реестр. В Azure есть служба реестра контейнеров Azure (ACR), которая является частным реестром. Это управляемая служба, а это означает, что вы должны сосредоточиться на том, что действительно важно: управлять образами в частном и безопасном реестре, используя возможности ведения журналов Azure, RBAC (управление доступом на основе ролей), репликацию и высокую доступность.
Создание реестра контейнеров Azure
Мы можем использовать различные методы для развертывания Реестра контейнеров Azure. В этой статье мы собираемся использовать самый простой метод — портал Azure. Пойдем!
Войдите на портал, щелкните Create a Resource и введите container в поле поиска, выберите Container Registry из списка. На начальной странице будет отображаться обзор сервиса, создание которого мы собираемся начать. Нажмите «Создать».
В колонке Создать реестр контейнеров у нас есть два параметра, на которые нужно обратить внимание: первый — это уникальное имя, которое будет использоваться реестром контейнеров, а второй — номер SKU, который может быть базовым (поддерживает 10 ГБ). хранилище) , Standard (хранилище 100 ГБ) или Premium (хранилище 500 ГБ и возможности георепликации. Существуют некоторые различия в ограничениях пропускной способности загрузки и выгрузки для SKU, а также в количестве веб-перехватчиков.
Выберите группу ресурсов и расположение и нажмите «Создать», когда будете готовы продолжить.
Все уровни (SKU) имеют программные возможности, интеграцию с Azure AD (Active Directory), веб-перехватчики, управление образами и поддержку образов Windows и Linux. Премиум с его георепликацией позволяет пользователю получать изображение из ближайшего центра обработки данных. Это отличный вариант для распределенных пользователей, которым необходим доступ к реестру.
После создания Реестра контейнеров Azure мы можем проверить его в элементе Обзор. С правой стороны в разделе мы сможем проверить некоторые ключевые настройки. Первый , это имя, которое мы собираемся использовать при использовании клиента Docker, а также местоположение и SKU.
В том же месте мы также можем проверить ограничения текущих SKU и показателей.
Настройка репликации
Будучи управляемой службой, Реестр контейнеров Azure позволяет использовать репликацию при использовании номера SKU "Премиум". Все местоположения будут настроены как реплики с одинаковым содержимым, и когда клиенты попытаются загрузить образы, будет использоваться ближайшее местоположение.
Чтобы управлять репликациями, щелкните элемент «Репликации», расположенный слева. Отобразится карта мира и будет проверен текущий регион. Нажмите «Добавить» и выберите новое местоположение. В нашем случае мы собираемся выбрать , а затем нажать «Создать».
Примечание. Существующие местоположения автоматически выделяются из списка серым цветом.
После того, как репликация настроена, мы можем нажать кнопку «Обновить», расположенную в верхней части того же блейда. Результатом будет наша карта мира с регионами Azure, разбросанными по всему земному шару с двумя проверками, которые являются центрами обработки данных, выбранными нами в качестве реплик.
Управление изображениями
До сих пор мы изучали, как создать реестр контейнеров Azure и некоторые интересные функции, такие как репликация. А пока давайте сосредоточимся на основах и узнаем, как отправлять (загружать) и извлекать (загружать) образы из нашего частного реестра контейнеров Azure.
Первым шагом является получение нашего имени пользователя администратора, которое по умолчанию является именем реестра, и паролем, который генерируется автоматически во время создания. Подобно учетной записи хранения, Реестр контейнеров Azure будет иметь два ключа для доступа к реестру, и их можно создать повторно в любое время с помощью кнопки «Обновить», расположенной справа от поля пароля.
Пришло время использовать для подключения к реестру и поиграть с образами. Первый шаг — установить Azure CLI, который можно найти здесь. Это кроссплатформенный интерфейс командной строки, что означает, что он поддерживается практически во всем: Linux, Windows, macOS и даже из контейнера, если вам нравится эта идея. В этой статье мы будем использовать macOS для работы с изображениями. (Хотя я использую тему Novell Netware в своем сеансе оболочки, я могу заверить вас, что это macOS.)
Первый шаг — запустить az login и на новой странице веб-браузера ввести учетные данные Azure для подключения к ресурсам. После аутентификации будет вывод JSON с вашими подписками и некоторой информацией о них.
Второй шаг — подключиться к Реестру контейнеров Azure, и для этого мы будем использовать Docker для входа в систему, используя логин Docker -u <username> <RegistryURL>. Эта команда в действии против нашего реестра показана на изображении ниже. Мы собираемся использовать существующий локальный образ для отправки нашего первого изображения. Чтобы получить список существующих образов, мы можем использовать список образов Docker.
Поскольку реестр пуст, мы будем использовать один из локальных образов для отправки в реестр. При использовании репозитория из нам необходимо использовать следующий синтаксис: RegistryName/RepositoryName:Version.
При импорте локального образа первым шагом является определение тега, и мы будем использовать следующую команду docker tag <image> <Azure-Registry.azurecr.io>/<image>:<version>, а после выполнения этой команды, мы можем снова перечислить изображения, и у нас будет новая запись, как показано на изображении ниже.
Чтобы отправить образ, который мы только что пометили, мы можем запустить следующую docker push <Azure-Registry-Name.azurecr.io>/<image>:<version>, и этого будет достаточно, чтобы передать этот образ в Реестр контейнеров Azure.
После отправки первого изображения мы можем проверить результаты с помощью портала Azure. Войдите на портал Azure, откройте Реестр контейнеров Azure, который мы создали в начале этой статьи, а затем проверьте элемент Repositories, и мы увидим с правой стороны, что образ alpine, который мы только что отправили, уже должен быть там. Нажмите здесь.
Все теги будут перечислены в новой колонке. Нажмите на v10, который мы определили, и на новом лезвии мы можем проверить ключевую информацию, такую как имя репозитория, имя тега, платформу и дайджест для этого образа, а также файл манифеста, который используется при извлечении и запуске. контейнеры.
Теперь, когда у нас есть образ в нашем репозитории, пришло время загрузить его в локальный реестр. Перед этим мы удалили образ из локального реестра, и мы видим это в первой команде списка образов Docker. Чтобы получить образ, просто запустите docker pull <Azure-Name.azurecr.io>/<Image>:<version>, а для проверки результатов снова запустим список образов Docker, а на этот раз образ, который был извлечен из Azure. Реестр контейнеров будет отображаться, как показано на изображении ниже.
Воспользовавшись преимуществами Microsoft Azure, мы смогли создать полный частный реестр контейнеров Azure для использования в вашей организации в качестве управляемой службы, где нам просто нужно сосредоточиться на том, что важно для технологии, а именно на самом реестре. Не беспокойтесь о создании инфраструктуры и высокой доступности для ее поддержки. Говоря о высокой доступности, встроенная репликация, доступная в Premium SKU, обеспечивает репликацию и легкий доступ для администраторов контейнеров.
Еще одна ключевая функция при использовании Реестра контейнеров Azure — возможность использовать RBAC с информацией Active Directory и получать доступ ко всем службам, записанным в Microsoft Azure.