Cree un experimento de caos que use un error de Chaos Mesh para acabar con los pods de AKS con Azure Portal
Artículo
Puede usar un experimento de caos para comprobar que la aplicación es resistente a los errores provocando esos errores en un entorno controlado. En este artículo, provocará errores de pod de Azure Kubernetes Service (AKS) periódicos en un espacio de nombres mediante un experimento de caos y Azure Chaos Studio. La ejecución de este experimento puede ayudarle a defenderse contra la falta de disponibilidad del servicio cuando hay errores esporádicos.
Chaos Studio usa Chaos Mesh, una plataforma gratuita de ingeniería de caos de código abierto para Kubernetes para insertar errores en un clúster de AKS. Los errores de Chaos Mesh son errores directos de servicio que requieren que Chaos Mesh esté instalado en el clúster de AKS. Estos mismos pasos se pueden usar para configurar y ejecutar un experimento para cualquier error de Chaos Mesh de AKS.
Un clúster de AKS con un grupo de nodos de Linux. Si no tiene un clúster de AKS, consulte el inicio rápido de AKS que usa la CLI de Azure, Azure PowerShell o Azure Portal.
Limitaciones
Puede usar errores de Chaos Mesh con clústeres privados mediante la configuración de la inserción de VNet en Chaos Studio. Los comandos emitidos en el clúster privado, incluidos los pasos de este artículo para configurar Chaos Mesh, deben seguir las instrucciones del clúster privado. Entre los métodos recomendados se incluyen la conexión desde una máquina virtual en la misma red virtual o mediante la característica de invocación de comandos de AKS.
Los errores de Chaos Mesh de AKS solo se admiten en grupos de nodos de Linux.
Para poder ejecutar errores de Chaos Mesh en Chaos Studio, debe instalar Chaos Mesh en el clúster de AKS.
Ejecute los siguientes comandos en una ventana Azure Cloud Shell donde tenga la suscripción activa establecida para que sea la suscripción donde se implementa el clúster de AKS. Reemplace MyManagedCluster y MyResourceGroup por el nombre del clúster y el grupo de recursos.
Azure CLI
az aks get-credentials --admin--name MyManagedCluster --resource-group MyResourceGroup
Chaos Studio no puede insertar errores en un recurso a menos que ese recurso se agregue primero a Chaos Studio. Agregue un recurso a Chaos Studio mediante la creación de un destino y funcionalidades en el recurso. Los clústeres de AKS solo tienen un tipo de destino (service-direct), pero otros recursos pueden tener hasta dos tipos de destino. Un tipo de destino es para errores directos del servicio. Otro tipo de destino es para errores basados en agente. Cada tipo de error de Chaos Mesh se representa como una funcionalidad como PodChaos, NetworkChaos e IOChaos.
Active la casilla situada junto al clúster de AKS. Seleccione Habilitar destinos y, a continuación, seleccione Habilitar destinos directos de servicio en el menú desplegable.
Confirme que el recurso deseado aparece en la lista. Seleccione Revisar y habilitary, después, Habilitar.
Aparece una notificación que indica que los recursos seleccionados se habilitaron correctamente.
Ahora ha agregado correctamente el clúster de AKS a Chaos Studio. En la vista Destinos, también puede administrar las funcionalidades habilitadas en este recurso. Seleccione el vínculo Administrar acciones junto a un recurso para mostrar las funcionalidades habilitadas para ese recurso.
Creación de un experimento
Ahora puede crear el experimento. Un experimento de caos define las acciones que se desean realizar en los recursos de destino. Las acciones se organizan y ejecutan en pasos secuenciales. El experimento de caos también define las acciones que desea realizar en las ramas, que se ejecutan en paralelo.
Seleccione la pestaña Experimentos en Chaos Studio. En esta vista, puede ver y administrar todos los experimentos de caos. Seleccione Crear>Experimento.
Rellene la Suscripción,el Grupo de recursos y la Ubicación donde desea implementar el experimento de caos. Ponga un nombre al experimento. Seleccione Siguiente: Diseñador de experimentos.
Ahora está en el diseñador de experimentos de Chaos Studio. El diseñador de experimentos permite compilar el experimento mediante la adición de pasos, ramas y errores. Asigne un nombre descriptivo su Paso y Rama y seleccione Agregar acción > Agregar error.
Seleccione Pod de Chaos Mesh de AKS en la lista desplegable. Rellene Duración con el número de minutos que desea que dure el error y jsonSpec con la siguiente información:
Quite cualquier YAML fuera de spec (incluido el nombre de la propiedad de especificación) y quite la sangría de los detalles de la especificación. El parámetro duration no es necesario, pero se usa si se proporciona. En este caso, quítelo.
Pegue el JSON minimizado en el campo jsonSpec del portal.
Haga clic en Siguiente: Recursos de destino.
Seleccione el clúster de AKS y seleccione Siguiente.
Compruebe que el experimento es correcto y seleccione Revisar y crear>Crear.
Conceder permiso al experimento al clúster de AKS
Al crear un experimento de caos, Chaos Studio crea una identidad administrada asignada por el sistema que ejecuta errores en los recursos de destino. Esta identidad debe tener los permisos adecuados en el recurso de destino para que el experimento se ejecute correctamente.
Vaya al clúster de AKS y seleccione Control de acceso (IAM).
Seleccione Agregar>Agregar asignación de roles.
Busque el rol de administrador de clúster de Azure Kubernetes Service y seleccione el rol. Seleccione Siguiente.
Elija Seleccionar miembros y busque el nombre del experimento. Seleccione el experimento y elija Seleccionar. Si hay varios experimentos en el mismo inquilino con el mismo nombre, el nombre del experimento se trunca con caracteres aleatorios agregados.
Seleccione Revisar y asignar>Revisar y asignar.
Ejecutar el experimento
Ahora ya puede ejecutar el experimento. Para ver el efecto, se recomienda abrir la información general del clúster de AKS e ir a Información en una pestaña independiente del explorador. Los datos dinámicos del recuento de pods activos muestran el efecto de ejecutar el experimento.
En la vista Experimentos, seleccione el experimento. Seleccione Iniciar>Aceptar.
Cuando el estado cambie a En ejecución, seleccione Detalles de la última ejecución en Historial para ver los detalles del experimento en ejecución.
Pasos siguientes
Ahora que ha ejecutado un experimento directo del servicio de Chaos Mesh de AKS, está listo para:
Las aplicaciones nativas de nube son modulares por naturaleza, con componentes separados e independientes. Los componentes se pueden encapsular en contenedores, como aquellos creados con Docker o bien publicarse desde un servicio de Azure. Tras ello, Kubernetes puede administrar el escalado dinámico. Aprenderemos a decidir cuándo Kubernetes es adecuado para nuestra aplicación nativa de nube y veremos cómo usarlo como primer bloque de creación de nuestra arquitectura nativa de nube.
Obtendrá información sobre el concepto de un experimento del caos en Azure Chaos Studio. ¿Cuáles son las partes de un experimento del caos? ¿Cómo puede crear un experimento del caos?
Comprenda la lista de tipos de recursos admitidos y qué asignación de roles es necesaria para permitir que un experimento ejecute un error en ese tipo de recurso.