SaltStack Config incluye cuatro o más componentes arquitectónicos, incluidos el servidor de RaaS, el complemento principal y dos bases de datos centrales.
En el siguiente diagrama se muestran los componentes principales de la arquitectura básica de SaltStack Config que son relevantes para la instalación:
Maestros de Salt y el complemento principal
SaltStack Config utiliza Salt, un sistema de automatización y administración de la configuración de código abierto. Si es nuevo en Salt y no está familiarizado con su funcionamiento, consulte Arquitectura del sistema de Salt.
El maestro de Salt es la conexión principal entre SaltStack Config y el resto de los nodos de la red (los minions). Cuando se emite un comando desde SaltStack Config (como un trabajo), el comando pasa al maestro de Salt para su distribución a los minions de destino.
SaltStack Config pueden conectarse a un maestro de Salt o a tantos maestros como necesite el sistema. Para que SaltStack Config se comunique con un maestro de Salt, ese maestro debe tener instalado el complemento principal y su clave debe aceptarse en SaltStack Config. El complemento principal permite al maestro de Salt acceder a trabajos o procesos iniciados por SaltStack Config, así como a archivos externos y datos del pilar que se almacenan en la base de datos de PostgreSQL.
El complemento se integra con los puntos de extensión existentes proporcionados por Salt. Por ejemplo, los resultados de los trabajos se recopilan mediante una memoria caché de trabajo externa de Salt del lado del maestro de Salt, y el servidor de archivos de RaaS utiliza un complemento de servidor de archivos de Salt.
RaaS
RaaS, que significa regresador como servicio (Returner as a Service), es el componente central de SaltStack Config. De hecho, cuando algunas personas dicen SaltStack Config, a menudo se refieren a RaaS.
RaaS proporciona endpoints de RPC para recibir comandos de administración desde la interfaz de usuario de SaltStack Config, así como endpoints de control de RPC para interactuar con los maestros de Salt conectados. Toda la comunicación se envía mediante llamadas de la API de RPC a través de WebSockets o HTTP(s).
Interfaz de usuario de SaltStack Config
La interfaz de usuario de SaltStack Config es una aplicación web que proporciona el front-end de la interfaz de usuario gráfica para RaaS. Aunque SaltStack Config le da prioridad a la API, la interfaz de usuario interactúa directamente con la API (RaaS) para permitir la administración sencilla de todos los sistemas de su entorno. Las distintas áreas de trabajo proporcionan a los usuarios la capacidad de administrar minions, usuarios, funciones, trabajos y mucho más.
Base de datos de PostgreSQL
RaaS utiliza una base de datos de PostgreSQL para almacenar datos de minions, devoluciones de trabajos, datos de eventos, archivos y datos del pilar, cuentas de usuario locales, así como opciones adicionales para la interfaz de usuario.
Base de datos de Redis
RaaS utiliza una base de datos de Redis para guardar ciertos tipos de datos en un almacenamiento temporal, como datos en caché. También utiliza almacenamiento de datos temporal para distribuir el trabajo en cola a los procesos de trabajo en segundo plano.