Tome un microservicio creado anteriormente e impleméntelo en Azure mediante DockerHub y Azure Kubernetes Service (AKS).
Insertar en Docker Hub
Docker Hub es un lugar central para cargar imágenes de Docker. Muchos productos, incluido Microsoft Azure, pueden crear contenedores basados en imágenes en Docker Hub.
Iniciar sesión en Docker Hub
En el símbolo del sistema, ejecute el siguiente comando:
En el terminal, ejecute el siguiente comando:
Terminal
docker login
Use el nombre de usuario y la contraseña creados al descargar Docker en el tutorial anterior. Puede visitar el sitio web de Docker Hub para restablecer la contraseña si es necesario.
Cargar imagen en Docker Hub
Vuelva a etiquetar (cambiar el nombre) de la imagen de Docker con el nombre de usuario e insértela en Docker Hub mediante los siguientes comandos:
Terminal
docker tag mymicroservice [YOUR DOCKER USERNAME]/mymicroservicedocker push [YOUR DOCKER USERNAME]/mymicroservice
El comando push cargará la imagen en Docker Hub, lo que puede tardar algún tiempo.
Configurar herramientas de Azure
Creación de una cuenta de Azure
Si no está familiarizado con Azure, puede crear una cuenta gratuita. Si tiene una cuenta existente, puede omitir este paso.
Una vez instalado, abra un nuevo símbolo del sistema e inicie sesión en su cuenta de Azure mediante la ejecución del siguiente comando:
Una vez instalado, abra un terminal nuevo e inicie sesión en su cuenta de Azure mediante la ejecución del siguiente comando:
Terminal
az login
Instalar AKS CLI
Kubernetes es una plataforma de organización de contenedores. Un orquestador es responsable de ejecutar, distribuir, escalar y reparar aplicaciones compuestas por una colección de contenedores. Azure Kubernetes Service (AKS) proporciona Kubernetes como un servicio administrado.
Ejecute el siguiente comando para instalar las herramientas de línea de comandos para AKS:
Terminal
az aks install-cli
Es posible que se le avise con recomendaciones para establecer las variables PATH del sistema. No son necesarias para este tutorial.
Crear recursos de Azure
Crear un grupo de recursos
Un grupo de recursos se utiliza para organizar un conjunto de recursos relacionados con una sola aplicación.
Ejecute el siguiente comando para crear un grupo de recursos en la región Oeste de EE. UU.:
Terminal
az group create --name MyMicroserviceResources --location westus
Si desea usar una ubicación diferente en el comando anterior, puede ejecutar el siguiente comando para ver qué regiones están disponibles en su cuenta y elegir una más cercana:
Terminal
az account list-locations -o table
Si desea usar otra suscripción para la sesión, puede obtener una lista de todas las suscripciones ejecutando el siguiente comando:
Terminal
az account list --all
A continuación, puede ejecutar el siguiente comando para establecer una suscripción específica para la sesión:
Terminal
az account set -s NAME_OR_ID
Crear un clúster de AKS
Ejecute el siguiente comando para crear un clúster de AKS en el grupo de recursos:
Es normal que este comando tarde varios minutos en completarse.
Terminal
az aks create --resource-group MyMicroserviceResources --name MyMicroserviceCluster --node-count 1 --enable-addons http_application_routing --generate-ssh-keys
Ejecute el siguiente comando para descargar las credenciales que se van a implementar en el clúster de AKS:
Terminal
az aks get-credentials --resource-group MyMicroserviceResources --name MyMicroserviceCluster
Implementar en Azure
Volver al directorio de la aplicación
Dado que ha abierto un nuevo terminal en el paso anterior, tendrá que volver al directorio en el que ha creado el servicio.
Dado que ha abierto un nuevo terminal en el paso anterior, tendrá que volver al directorio en el que ha creado el servicio.
Terminal
cd MyMicroservice
Crear un plan de implementación
Las herramientas AKS usan un archivo .yaml para definir cómo implementar el contenedor.
Cree un archivo llamado deploy.yaml con este comando:
Terminal
touch deploy.yaml
Terminal
fsutil file createnew deploy.yaml 0
A continuación, puede abrirlo en su editor de texto favorito.
A continuación, puede abrirlo en su editor de texto favorito manualmente o con este comando:
Terminal
open deploy.yaml
Terminal
start deploy.yaml
Reemplace el contenido de deploy.yaml por lo siguiente en el editor de texto, asegurándose de reemplazar [YOUR DOCKER ID] con su ID de Docker real.
Ejecute el siguiente comando para implementar el microservicio en función de la configuración de deploy.yaml:
Terminal
kubectl apply -f deploy.yaml
Probar el servicio implementado
Ejecute el siguiente comando para ver los detalles del servicio implementado:
Terminal
kubectl get service mymicroservice --watch
Entre otras cosas, el comando anterior mostrará la dirección IP externa en la que está disponible el servicio (EXTERNAL-IP).
Con la dirección IP externa, abra una nueva ventana del explorador y vaya a http://[YOUR EXTERNAL IP ADDRESS]/weatherforecast
Si la EXTERNAL-IP se marca como <pending>, una nueva línea aparecerá automáticamente una vez asignada la dirección IP externa.
Presione CTRL+C en el símbolo del sistema para finalizar el comando kubectl get service.
Presione CTRL+C en el terminal para finalizar el comando kubectl get service
¡Felicitaciones! Ha implementado un microservicio en Azure.
Escalar el servicio
Una ventaja de usar Kubernetes es que puede escalar verticalmente, de manera sencilla, una implementación a varias instancias para controlar la carga adicional. Actualmente, solo hay una instancia, así que vamos a escalar a dos instancias.
Ejecute el siguiente comando para escalar el servicio hasta dos instancias: