Turing Pi: placa de clúster para aplicaciones y servicios autohospedados

imagen



Turing Pi es una solución de aplicación autohospedada basada en el principio de racks en rack en el centro de datos, solo en una placa base compacta. La solución se centra en la construcción de una infraestructura local para el desarrollo local y el alojamiento de aplicaciones y servicios. Básicamente, es como AWS EC2 solo para el borde.



Somos un pequeño equipo de desarrollo que decidió crear una solución para construir clústeres bare-metal en el borde y llamó al proyecto Turing Pi. El producto comenzó de rodillas, pero ahora los departamentos de desarrollo de Red Hat, Rancher (SUSE), Toyota Connected, Sony, Electrolux, Facebook lo ordenaron para probar sus conceptos, y la audiencia de desarrolladores de menos de 10K está reclutando.



Pero todo empezó con un descubrimiento.



Descubrimiento de productos



Una vez descubrí por mí mismo que no estamos inventando nada. Descubrimos todas las cosas que existen en este mundo. Descubrimos que algunas partes se pueden combinar juntas, obteniendo nuevas propiedades de los productos o descubriendo leyes y luego volviendo a combinar. No puede pensar en nada, pero puede abrirlo mientras investiga. En mi opinión, la invención es el resultado de una constante observación, experimentación y búsqueda + combinación de conocimientos.



Durante la última década, he visto homelab (recurso subreddit ), autohospedado ( subreddit y awesome-selfhosted), computadoras de placa única, a medida que crece el interés en lanzar contenedores en computadoras de placa única como la Raspberry Pi, crece un movimiento para recolectar grupos de computadoras de placa única. Poco a poco, la idea de Kubernetes también se extiende allí. Ya ha aparecido su versión ligera de k3s, centrada en Edge / IoT. La gran cadena de comida rápida Chick-fil-A fue una de las primeras en el mundo en implementar clústeres de Kubernetes en sus cocinas kubectl hazme un sándwich .



Lo veo como una bola de nieve, ya que una tecnología envuelve a otra, creando un sistema más complejo. Al mismo tiempo, no hay caos, parece más un fractal de tecnología. En uno de los momentos bastante difíciles de mi vida para mí, vi el valor de los clústeres ensamblados a partir de computadoras de placa única por desarrolladores aficionados y comencé a trabajar en la creación de un tablero de clúster.



Hoy en día, nuestro tablero de clústeres es muy simple y está dirigido principalmente a aquellos que aman las tecnologías nativas de la nube, aprenden cosas nuevas, experimentan.



Bloques de construcción



Entonces, cuál es la solución, cuál es la esencia. El resultado final es brindarle a un constructor, bloques de construcción a partir de los cuales puede ensamblar una infraestructura de borde más barata que en los servidores clásicos, móvil sin cajas metálicas voluminosas, que no exija condiciones operativas especiales como salas de servidores, eficiencia energética, estandarizada en términos de módulos y con la capacidad de escalado a decenas y centenas de nodos computacionales (procesadores).

La



placa Clusterboard Mini ITX conecta varios módulos de cómputo a través de una red integrada, proporciona interfaces periféricas y control de módulos

Compute Module Tarjeta



SO-DIMM que contiene procesador y RAM, memoria flash opcional para almacenamiento del sistema operativo

imagen

Una de las configuraciones proyectadas de la versión Turing V2

imagen
Al combinar una placa de clúster y módulos de cómputo, es fácil crear una infraestructura para, por ejemplo, más de 20 procesadores (ejemplos a continuación), silenciosa y con bajo consumo de energía. El tablero de clúster en sí mismo aumenta la eficiencia del espacio utilizado. Ejemplos de clústeres para comparar



imagen

24 CPU basadas en SBC

por Afkham Azeez



imagen

21 CPU basadas en Turing Pi

Por th3st0rmtr00p3r

* SBC - Single Board Computer



Cofundador de Rancher Labs y autor de k3s, este enfoque no dejó indiferente.



imagen



Más información sobre los bloques de construcción.



Módulo de cálculo



Como prueba de concepto, elegimos el módulo de cómputo Raspberry Pi, que es la configuración perfecta para comenzar. La comunidad RPi está activa, no hay problemas con el software, el módulo en sí está en formato SO-DIMM (6 x 3 cm), asequible, contiene una CPU de 4 núcleos, 1 GB de RAM y memoria flash opcional de 8, 16 o 32 GB para SO y otras necesidades del sistema. Este factor de forma se utiliza a menudo en soluciones industriales de IoT.



Módulo de cómputo Raspberry Pi 1/3/3 +



imagen



Pero el modelo CM3 también tiene serias limitaciones: máx. 1 GB de RAM y Ethernet a través de USB HUB con una velocidad máxima de hasta 100 Mbps. Por tanto, la segunda versión de Turing admitirá Raspberry Pi 4 y hasta 8 GB de RAM por módulo. A continuación se muestra un ejemplo de módulos de Nvidia Jetson para tareas de Computación acelerada. Quizás haya soporte para ellos en la segunda versión, si resolvemos algunos problemas técnicos, entonces podemos mezclar los módulos.



Módulos de cómputo Nvidia Jetson



imagen



La característica más importante está oculta en los módulos, lo que no es obvio a primera vista. La capacidad de crear otros módulos en un factor de forma similar con un conjunto diferente de CPU, RAM y eMMC, para diferentes tipos de tareas, desde computación general hasta computación intensiva de aprendizaje automático. Esto es muy similar a las instancias AWS EC2, pero solo para el borde. En este caso, la placa del clúster permanece sin cambios o con cambios menores.



Clusterboard



También se puede llamar placa base o placa base, una dirección bastante nueva y no hay muchos fabricantes de tales soluciones en la actualidad y todavía están bastante en el nivel de entrada, entre ellos Pine64, MiniNodes, Clover Pi, Bitscope Blade, PicoCluster (clústeres SBC). La placa del clúster conecta los módulos con una red, proporciona energía y proporciona un Bus de administración de clúster, al menos decidimos agregar este bus y parece que ha echado raíces.

Frente

imagen

atrás

imagen

Ancho de banda del backplane 12 Gbps Ranuras SD para módulos sin eMMC, por ejemplo, puede contener un par de módulos con SD para un acceso rápido a los datos del nodo
La placa del clúster se basa en un chip de conmutación para proporcionar conexión de red de módulos y acceso a una red externa. En la versión actual estamos usando un conmutador no administrado porque No hubo tiempo para llevar a cabo una I + D completa, pero para la segunda versión elegimos un interruptor bien administrado. Es posible configurar en el modo 'nodo maestro como enrutador' para distribuir la red a la placa, esto es si se requiere un mayor nivel de seguridad y aislamiento de los trabajadores del acceso externo, en cuyo caso también se debe mantener un servidor DHCP en el nodo maestro.



Solicitud



La versión actual es experimental y la posicionamos como una solución de nivel de entrada para estudiar qué son los clusters, trabajar con software, o como prueba de hipótesis en organizaciones, buscar nuevas ideas, en general, una versión Lite.



Para comenzar, recomendamos un episodio del maravilloso Jeff Geerling, que leyó sobre nosotros en Y Combinator y es el autor del exitoso Ansible para DevOps. Estaba tan inspirado que hizo una revisión de 6 partes a partir de la idea de la agrupación en clústeres en general hasta ejemplos prácticos de cómo trabajar con la placa, aprender Kubernetes y qué software se puede instalar



Una serie sobre la instalación de k3s en un clúster





En general, recomiendo mirar desde el principio, allí, en general, sobre clustering y Kubernetes en un lenguaje accesible. Y algunas fotos de la comunidad



imagen



¿Que sigue?



En primer lugar, espero que haya sido interesante. Este es absolutamente el contenido del autor, un intento de mirar más allá del horizonte. En segundo lugar, planeo escribir la segunda parte sobre el diseño de Turing V2. Cómo fue la búsqueda de un producto, juicios lógicos, la búsqueda de las principales propiedades que son importantes. El artículo contendrá bocetos del producto desde el más antiguo hasta el final. El segundo artículo será de especial interés para los ingenieros de producto que son responsables de los productos y su desarrollo en las empresas.



Y lo más probable es que haya una lectura muy larga.



All Articles