SaltStack Config inclut au moins quatre composants architecturaux, notamment le serveur RaaS, le plug-in master et deux bases de données centrales.

Le diagramme suivant présente les principaux composants de l'architecture SaltStack Config de base qui sont pertinents pour l'installation :

Diagramme de l'architecture qui montre les différents composants de SaltStack Config
Note : Dans le cadre de l'initiative de VMware visant à supprimer la terminologie problématique, le terme master Salt sera remplacé par un meilleur terme dans SaltStack Config et les produits associés, ainsi que dans la documentation. Cette mise à jour terminologique peut s'étendre sur plusieurs cycles de publication.

Masters Salt et plug-in master

SaltStack Config est optimisé par Salt, un système de gestion et d'automatisation de configuration open source.

Le master Salt constitue la connexion principale entre SaltStack Config et le reste des nœuds sur votre réseau (les serviteurs). Lorsque vous émettez une commande depuis SaltStack Config (telle qu'une tâche), la commande passe au master Salt pour distribution aux minions ciblés.

SaltStack Config peut se connecter à un master Salt ou à de nombreux masters selon les besoins de votre système. Pour que SaltStack Config communique avec un master Salt, vous devez installer le plug-in master sur le master Salt et accepter sa clé dans SaltStack Config. Le plug-in master permet au master Salt d'accéder aux tâches ou aux processus initiés par SaltStack Config. Le master Salt peut accéder aux fichiers externes et aux données de Pillar qui sont stockés sur la base de données PostgreSQL.

Le plug-in s'intègre aux points d'extension existants fournis par Salt. Par exemple, les retours de tâche sont collectés à l'aide d'un cache de tâche externe Salt côté master Salt, et le serveur de fichiers RaaS utilise un plug-in de serveur de fichiers Salt.
Note : Vous pouvez connecter plusieurs masters Salt à SaltStack Config. Pour chaque master Salt qui se connecte à SaltStack Config, le plug-in master doit être installé.

RaaS

RaaS (Returner as a Service) est le composant central de SaltStack Config. En fait, lorsque des personnes font référence à SaltStack Config, elles parlent souvent de RaaS.

RaaS fournit des points de terminaison RPC pour recevoir des commandes de gestion de l'interface utilisateur de SaltStack Config, ainsi que des points de terminaison de contrôle RPC pour l'interface avec des masters Salt connectés. Toutes les communications sont envoyées à l'aide d'appels d'API RPC sur WebSockets ou HTTP(s).

interface utilisateur SaltStack Config

L'interface utilisateur de SaltStack Config est une application Web qui fournit l'interface utilisateur graphique frontale pour RaaS. Bien que SaltStack Config soit principalement axé API, l'interface utilisateur est en interaction directe avec l'API (RaaS) pour permettre une gestion simple de tous les systèmes de votre environnement. Différents espaces de travail permettent aux utilisateurs de gérer des serviteurs, des utilisateurs, des rôles, des tâches, etc.

Bases de données

Base de données PostgreSQL

RaaS utilise une base de données PostgreSQL pour stocker des données de minion, des retours de tâche, des données d'événements, des fichiers et des données de Pillar, des comptes d'utilisateurs locaux, ainsi que d'autres paramètres pour l'interface utilisateur.

Base de données Redis

RaaS utilise une base de données Redis pour stocker certains types de données dans un stockage temporaire, comme les données mises en cache. Il utilise également le stockage de données temporaire pour distribuer le travail mis en file d'attente aux nœuds worker en arrière-plan.

Pour plus d'informations sur le fonctionnement de Salt, reportez-vous à la section Architecture du système Salt.