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:

Diagrama de arquitectura que muestra los distintos componentes de SaltStack Config
Nota: Como parte de la iniciativa de VMware para eliminar terminología problemática, el término "maestro de Salt" se reemplazará por uno mejor en SaltStack Config, y en los productos y la documentación relacionados. Esta actualización de terminología puede tardar algunos ciclos de versión en completarse

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.

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, debe instalar el complemento principal en el maestro de Salt y aceptar su clave en SaltStack Config. El complemento principal permite al maestro de Salt acceder a trabajos o procesos iniciados por SaltStack Config. El maestro de Salt puede acceder 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.
Nota: Puede conectar más de un maestro de Salt a SaltStack Config. Cada maestro de Salt que se conecte a SaltStack Config debe tener instalado el complemento principal.

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.

Bases de datos

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 y otras configuraciones 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.

Para obtener más información sobre cómo funciona la Salt, consulte Arquitectura del sistema de Salt.