Treo Blog

En este espacio puedes explorar las últimas tendencias y noticias en tecnología, seguridad informática e infraestructura TI.

  • Jonathan Rodriguez Paipa

Consejos sobre la gestión de dispositivos IoT en el perímetro con Red Hat Ansible Automation

Por Matthew Taylor



Crédito: Pexels

Los dispositivos de Internet de las cosas (IoT) son geniales. Se pueden implementar en el campo adjuntos a un edificio o camión y enviar todos estos datos asombrosos. Si las cosas van muy bien, es posible que tenga cientos o miles de dispositivos implementados.


Genial, tenemos miles de dispositivos implementados, pero ¿cómo los administramos? ¿Cómo los configuramos y actualizamos sin tener que enviar a alguien y tocar el dispositivo? Con Red Hat Ansible Automation Platform y Red Hat Ansible Tower, podemos administrar de forma centralizada estos dispositivos implementados de forma remota.





Ansible a través de conexiones celulares


Si tiene suerte, sus dispositivos implementados tendrán conexiones de red cableadas y podrá tratar el dispositivo como lo haría con cualquier otro servidor o dispositivo de red.


Lo más probable es que este no sea el caso y su conectividad sea a través de una red celular. Las redes celulares pueden presentar varios desafíos al intentar administrar un dispositivo con Ansible. Las redes celulares pueden interrumpir las conexiones, pueden tener una latencia inconsistente, las tasas de transferencia de datos varían de un dispositivo a otro. Todos estos problemas potenciales pueden afectar el rendimiento de sus libros de jugadas de Ansible.


Sintonización SSH


En el corazón de cada libro de jugadas de Ansible hay una conexión SSH a un dispositivo. Hay algunas opciones de SSH que se pueden usar para mejorar la solidez de la conexión SSH en una red celular.


Keep Alives


Un problema que puede suceder es que cuando se interrumpe una conexión celular, la conexión de red subyacente no se cierra correctamente, SSH cree que la conexión aún está activa y el libro de jugadas se bloquea hasta que el kernel finalmente cierra la conexión, pero eso puede llevar horas. Para evitar que el libro de jugadas se cuelgue, se debe configurar el mantenimiento del cliente SSH.


Las opciones de SSH ServerAliveInterval establecen el intervalo entre el envío de Keep Alives en segundos y ServerAliveCountMax establece el número de Keep Alives que el servidor puede perder antes de que el cliente interrumpa la conexión. Me gusta configurar estas opciones SSH en ansible.cfg


Aquí configuramos el intervalo de mantenimiento activo para que sea cada 5 minutos y permitimos que el servidor pierda 2 mantenimiento activo. Con esta configuración, la conexión SSH del cliente tardaría aproximadamente 15 minutos en cerrarse.


Canalización Ansible


Una recomendación general de rendimiento de Ansible es habilitar la canalización. La canalización reduce la cantidad de conexiones SSH realizadas durante la ejecución de un libro de jugadas.


Diseño de libro de jugadas


Al diseñar libros de jugadas para administrar dispositivos a través de conexiones celulares, hay algunas consideraciones adicionales que deben tenerse en cuenta.


Almacenamiento en caché de hechos


Habilitar el almacenamiento en caché de datos puede acelerar los libros de jugadas al no tener que ejecutar la configuración en cada ejecución del libro de jugadas, pero también ahorra en el uso de datos al no tener que extraer los mismos datos en cada ejecución del libro de jugadas. Aquí es donde Red Hat Ansible Tower realmente ayuda.


Se puede programar un trabajo una vez al día para ejecutar la configuración en todos los hosts y almacenar en caché los datos para su uso en ejecuciones posteriores del trabajo. Entonces, todos sus libros de jugadas pueden establecer collect_facts: false. Si un libro de jugadas necesita tener los datos más recientes, puede habilitar collect_facts en ese libro de jugadas específico.


Datos de la etapa


Un escenario es la necesidad de actualizar el firmware del dispositivo. Un libro de jugadas típico puede copiar el firmware y luego ejecutar la actualización como un libro de jugadas. El nuevo enfoque sería tener un libro de jugadas para copiar el firmware al dispositivo y tener otro para ejecutar la instalación.


La ventaja es que puede organizar archivos grandes durante varias horas o días y luego ejecutar rápidamente los libros de jugadas que usan los archivos más tarde.


Validar datos almacenados


Todos los libros de jugadas que utilizan archivos previamente preparados deben validar que los archivos son correctos. El mejor enfoque es validar la suma de comprobación del archivo. No todos los dispositivos proporcionan un método para verificar sumas de verificación, por lo que se deben verificar los tamaños de archivo mínimos.


Limitar el uso de recursos del sistema


A menudo, los dispositivos implementados no son las máquinas más potentes. Al administrar estos dispositivos, no queremos que la automatización de Ansible utilice todos los recursos del sistema, lo que podría evitar que el dispositivo funcione como se espera.


Recomiendo usar un usuario de Ansible separado y usar cgroups para poner restricciones en la cantidad de recursos del sistema que el usuario puede usar.


Trabajar con dispositivos integrados


Hasta ahora se ha asumido que el dispositivo implementado está ejecutando un sistema operativo completo como Red Hat Enterprise Linux. Con frecuencia este no es el caso. Muchos dispositivos son hardware integrado construido a medida que ejecuta un sistema operativo básico.


Es posible que algunos de estos dispositivos ni siquiera admitan la ejecución de comandos sin un terminal / TTY. Todavía podemos usar Ansible para administrar estos dispositivos. Los trataremos como dispositivos Ansible Network. Para hacerlo, será necesario escribir módulos Ansible Networking personalizados para el dispositivo.


Una vez escritos los módulos, puede administrar el dispositivo remoto usando Ansible como lo haría con cualquier otro conmutador o enrutador de red.


Conclusión


Ansible facilita la administración de dispositivos de IoT de la misma manera que administra servidores y dispositivos de red. Seguir estos consejos mientras desarrolla el libro de jugadas de Ansible hará que sus implementaciones y administración de dispositivos de IoT sean más fáciles y exitosas.


Fuente: Blog de Red Hat

10 vistas0 comentarios

Un Servidor en Quien Confiar

CONTACTO

contactodirecto@datayservice.com

PBX + 57 6 8812277

Calle 54 # 26-60

ZIP 170004

Manizales, Colombia

REDES

logo-facebook.png
linkedin_circle-512.webp
logo-instagram-1.png
D&S colores.png

 © Data&Service, todos los derechos reservados.