Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Implementación de una aplicación sin estado
SE APLICA A:
Azure Stack Edge Pro - GPU
Azure Stack Edge Pro 2
Azure Stack Edge Pro R
Azure Stack Edge Mini R
En este artículo se muestra cómo compilar e implementar una aplicación web de varios niveles mediante Kubernetes y Azure Arc. Este ejemplo consta de los siguientes componentes:
- Un maestro de Redis de instancia única para almacenar las entradas de
guestbook - Varias instancias replicadas de Redis para atender solicitudes de lectura
- Varias instancias de front-end web
La implementación se realiza mediante GitOps en el clúster de Kubernetes habilitado para Azure Arc en el dispositivo Azure Stack Edge Pro.
Este procedimiento está diseñado para personas que han revisado las cargas de trabajo de Kubernetes en el dispositivo Azure Stack Edge Pro y están familiarizados con los conceptos de ¿Qué es Kubernetes habilitado para Azure Arc (versión preliminar)?
Prerrequisitos
Para poder implementar la aplicación sin estado, asegúrese de que ha completado los siguientes requisitos previos en el dispositivo y el cliente que usará para acceder al dispositivo:
Para el dispositivo
Tiene credenciales de inicio de sesión en un dispositivo Azure Stack Edge Pro de 1 nodo.
- El dispositivo está activado. Consulte Activar el dispositivo.
- El dispositivo tiene el rol de proceso configurado mediante Azure Portal y tiene un clúster de Kubernetes. Consulte Configurar recursos de cómputo.
Ha habilitado Azure Arc en el clúster de Kubernetes existente en el dispositivo y tiene un recurso de Azure Arc correspondiente en Azure Portal. Para ver los pasos detallados, consulte Habilitación de Azure Arc en el dispositivo Azure Stack Edge Pro.
Para que el cliente acceda al dispositivo
Tiene un sistema cliente de Windows que se usará para acceder al dispositivo Azure Stack Edge Pro.
El cliente ejecuta Windows PowerShell 5.0 o posterior. Para descargar la versión más reciente de Windows PowerShell, vaya a Instalar Windows PowerShell.
También puede tener cualquier otro cliente con un sistema operativo compatible . En este artículo se describe el procedimiento al usar un cliente de Windows.
Ha completado el procedimiento descrito en Acceso al clúster de Kubernetes en el dispositivo Azure Stack Edge Pro. Tiene:
Se instaló
kubectlen el cliente.Asegúrese de que la versión del cliente de
kubectles como máximo una versión superior o inferior a la versión maestra de Kubernetes que se ejecuta en el dispositivo Azure Stack Edge Pro.- Use
kubectl versionpara comprobar la versión de kubectl que se ejecuta en el cliente. Anote la versión completa. - En la interfaz de usuario local del dispositivo Azure Stack Edge Pro, vaya a Información general y anote el número de software de Kubernetes.
- Verifique que estas dos versiones sean compatibles con el mapeo proporcionado en las versiones de Kubernetes compatibles.
- Use
Tiene una configuración de GitOps que puede usar para ejecutar una implementación de Azure Arc. En este ejemplo, usará los siguientes
yamlarchivos para implementar en el dispositivo Azure Stack Edge Pro.frontend-deployment.yaml-
frontend-service.yaml -
redis-master-deployment.yaml -
redis-master-service.yaml -
redis-replica-deployment.yaml -
redis-replica-service.yaml
Implementación de la configuración
Siga estos pasos para configurar el recurso de Azure Arc para implementar una configuración de GitOps mediante Azure Portal:
En Azure Portal, vaya al recurso de Azure Arc que ha creado al habilitar Azure Arc en el clúster de Kubernetes en el dispositivo.
Vaya a Configuraciones y seleccione + Agregar configuración.
Especifique la extensión Flux versión 1.
En Agregar una configuración de GitOps, escriba los valores adecuados para los campos y, a continuación, seleccione Agregar.
Parámetro Description Nombre de la configuración Nombre del recurso de configuración. Nombre de instancia del operador Nombre de instancia del operador para identificar una configuración específica. Name es una cadena con un máximo de 253 caracteres; se admiten solo minúsculas, caracteres alfanuméricos, guiones y puntos. Espacio de nombres del operador El valor se establece en demotestguestbook para que coincida con el espacio de nombres especificado en la implementación yaml.
El campo define el espacio de nombres donde está instalado el operador. Name es una cadena con un máximo de 253 caracteres; se admiten solo minúsculas, caracteres alfanuméricos, guiones y puntos.Dirección URL del repositorio
Ruta al repositorio de Git en formatohttp://github.com/username/repoogit://github.com/username/repodonde se encuentra tu configuración de GitOps.Ámbito del operador Seleccione Espacio de nombres.
Este parámetro define el ámbito en el que está instalado el operador. Seleccione namespace para instalar el operador en el namespace especificado en los archivos YAML de implementación.Tipo de operador Dejar en la configuración por defecto.
Este parámetro especifica el tipo del operador , de forma predeterminada, establecido como flux.Parámetros del operador Déjelo en blanco.
Este parámetro contiene parámetros para pasar al operador de flujo.Helm Deje esta casilla Desactivada.
Habilite esta opción si va a realizar implementaciones basadas en gráficos.
La implementación de configuración se inicia y el estado Operador se muestra como Pendiente.
La implementación tarda un par de minutos. Cuando se complete la implementación, el estado Operador se muestra como Instalado.
Comprobación de la implementación
La implementación mediante la configuración de GitOps crea un espacio de nombres de demotestguestbook como se especifica en los archivos yaml de implementación ubicados en el repositorio de Git.
Después de aplicar la configuración de GitOps, conéctese a la interfaz de PowerShell del dispositivo.
Ejecute el siguiente comando para enumerar los pods que se ejecutan en el
demotestguestbookespacio de nombres correspondiente a la implementación.kubectl get pods -n <your-namespace>Esta es una salida de ejemplo.
[10.128.44.240]: PS>kubectl get pods -n demotestguestbook NAME READY STATUS RESTARTS AGE aseoperator1-5569658644-cqtb5 1/1 Running 0 91m frontend-6cb7f8bd65-4xb4f 1/1 Running 0 91m frontend-6cb7f8bd65-q9cxj 1/1 Running 0 91m frontend-6cb7f8bd65-xpzs6 1/1 Running 0 91m memcached-86bdf9f56b-5l2fq 1/1 Running 0 91m redis-master-7db7f6579f-2z29w 1/1 Running 0 91m redis-replica-7664787fbc-lgr2n 1/1 Running 0 91m redis-replica-7664787fbc-vlvzn 1/1 Running 0 91m [10.128.44.240]: PS>En este ejemplo, el servicio front-end se implementó como type:LoadBalancer. Es necesario buscar la dirección IP de este servicio para ver
guestbook. Ejecute el siguiente comando.kubectl get service -n <your-namespace>[10.128.44.240]: PS>kubectl get service -n demotestguestbook NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE frontend LoadBalancer 10.96.79.38 10.128.44.245 80:31238/TCP 85m memcached ClusterIP 10.102.47.75 <none> 11211/TCP 85m redis-master ClusterIP 10.104.32.99 <none> 6379/TCP 85m redis-replica ClusterIP 10.104.215.146 <none> 6379/TCP 85m [10.128.44.240]: PS>El servicio front-end de
type:LoadBalancertiene una dirección IP externa. Esta dirección IP procede del intervalo de direcciones IP que especificó para los servicios externos al configurar la configuración de red de proceso en el dispositivo. Use esta dirección IP para ver elguestbooken la URL:https://<external-IP-address>.
Eliminación de la implementación
Para eliminar la implementación, puede eliminar la configuración del portal de Azure. Al eliminar la configuración, se eliminarán los objetos creados, incluidas las implementaciones y los servicios.
- En Azure Portal, vaya a Configuraciones de recursos > de Azure Arc.
- Busque la configuración que desea eliminar. Seleccione ... para invocar el menú contextual y seleccionar Eliminar.
La configuración puede tardar varios minutos en eliminarse.