Возьмите ранее созданную микрослужбу и разверните ее в Azure с помощью DockerHub и службы Azure Kubernetes (AKS).
Отправить в Docker Hub
Docker Hub — это центральное место для загрузки образов Docker. Многие продукты, включая Microsoft Azure, могут создавать контейнеры на основе образов в Docker Hub.
Войдите в Docker Hub
В командной строке выполните следующую команду:
В терминале выполните следующую команду:
Terminal
docker login
Используйте имя пользователя и пароль, созданные при загрузке Docker в предыдущем руководстве. Вы можете посетить веб-сайт Docker Hub, чтобы при необходимости сбросить пароль.
Загрузить образ в Docker Hub
Повторно пометьте (переименуйте) образ Docker под своим именем пользователя и отправьте его в Docker Hub, выполнив следующие команды:
Terminal
docker tag mymicroservice [YOUR DOCKER USERNAME]/mymicroservicedocker push [YOUR DOCKER USERNAME]/mymicroservice
Команда push загрузит ваш образ в Docker Hub, что может занять некоторое время.
Настройка инструментов Azure
Создание учетной записи Azure
Если вы новичок в Azure, вы можете создать бесплатную учетную запись. Если у вас есть существующая учетная запись, вы можете пропустить этот шаг.
После установки откройте командную строку new и войдите в свою учетную запись Azure, выполнив следующую команду:
После установки откройте терминал new и войдите в свою учетную запись Azure, выполнив следующую команду:
Terminal
az login
Установить CLI AKS
Kubernetes — это платформа для оркестрации контейнеров. Оркестратор отвечает за запуск, распространение, масштабирование и восстановление приложений, состоящих из набора контейнеров. Служба Azure Kubernetes (AKS) предоставляет Kubernetes как управляемую службу.
Выполните следующую команду, чтобы установить инструменты командной строки для AKS:
Terminal
az aks install-cli
Вы можете быть предупреждены рекомендациями по установке системных переменных PATH. Это не требуется для этого урока.
Создание ресурсов Azure
Создать группу ресурсов
Группа ресурсов используется для организации набора ресурсов, связанных с одним приложением.
Выполните следующую команду, чтобы создать группу ресурсов в западной части США:
Terminal
az group create --name MyMicroserviceResources --location westus
Если вы хотите использовать другое местоположение в предыдущей команде, вы можете запустить следующую команду, чтобы увидеть, какие регионы доступны в вашей учетной записи, и выбрать ближайший к вам регион:
Terminal
az account list-locations -o table
Если вы хотите использовать другую подписку для сеанса, вы можете получить список всех подписок, выполнив следующую команду:
Terminal
az account list --all
Затем выполните следующую команду, чтобы настроить определенную подписку для сеанса:
Terminal
az account set -s NAME_OR_ID
Создание кластера AKS
Выполните следующую команду, чтобы создать кластер AKS в группе ресурсов:
Выполнение этой команды обычно занимает несколько минут.
Terminal
az aks create --resource-group MyMicroserviceResources --name MyMicroserviceCluster --node-count 1 --enable-addons http_application_routing --generate-ssh-keys
Чтобы загрузить учетные данные для развертывания в кластере AKS, выполните следующую команду:
Terminal
az aks get-credentials --resource-group MyMicroserviceResources --name MyMicroserviceCluster
Развертывание в Azure
Вернуться в каталог приложений
Поскольку вы открыли новую командную строку на предыдущем шаге, вам нужно вернуться в каталог, в котором вы создали свой сервис.
Поскольку вы открыли новый терминал на предыдущем шаге, вам нужно вернуться в каталог, в котором вы создали свой сервис.
Terminal
cd MyMicroservice
Создание файла развертывания
Средства AKS используют файл .yaml, чтобы определить, как развертывать контейнер.
Создайте файл с именем deploy.yaml с помощью этой команды:
Terminal
touch deploy.yaml
Terminal
fsutil file createnew deploy.yaml 0
Затем вы можете открыть его в своем любимом текстовом редакторе.
Затем вы можете открыть его в своем любимом текстовом редакторе вручную или с помощью этой команды:
Terminal
open deploy.yaml
Terminal
start deploy.yaml
В текстовом редакторе измените файл deploy.yaml заменив слова [YOUR DOCKER ID] своим настоящим идентификатором Docker.
Выполните следующую команду, чтобы развернуть микрослужбу на основе настроек в deploy.yaml:
Terminal
kubectl apply -f deploy.yaml
Протестируйте развернутую службу
Выполните следующую команду, чтобы просмотреть сведения о развернутой службе:
Terminal
kubectl get service mymicroservice --watch
Помимо прочего, предыдущая команда выведет внешний IP-адрес, на котором доступна ваша служба (EXTERNAL-IP).
Используя внешний IP-адрес, откройте новое окно браузера и перейдите к http://[ВАШ ВНЕШНИЙ IP-АДРЕС]/weatherforecast
Если EXTERNAL-IP помечен как <pending>, после выделения внешнего IP-адреса автоматически появится новая строка.
Нажмите CTRL+C в командной строке, чтобы завершить команду kubectl get service.
Нажмите CTRL+C на своем терминале, чтобы завершить команду kubectl get service.
Поздравляем! Вы развернули микрослужбу в Azure.
Масштабируйте свой сервис
Преимущество использования Kubernetes заключается в том, что вы можете легко масштабировать развертывание до нескольких экземпляров для обработки дополнительной нагрузки. В настоящее время существует только один экземпляр, поэтому давайте расширимся до двух экземпляров.
Чтобы масштабировать службу до двух экземпляров, выполните следующую команду: