Como parte del proceso posterior a la instalación, debe instalar, configurar y actualizar el complemento principal. El complemento principal permite que los maestros de Salt se comuniquen con Automation Config. El complemento principal incluye una variedad de opciones que puede ajustar para mejorar el rendimiento, que son particularmente útiles para entornos grandes o con mucho trabajo.
Por lo general, el complemento principal se instala en cada maestro de Salt del entorno que se comunica con Automation Config. Por ejemplo, si utiliza una configuración con más de un maestro de Salt (en ocasiones denominada configuración de varios maestros), debe instalar el complemento principal en cada maestro de Salt.
Antes de comenzar
La instalación y configuración del complemento principal es un paso posterior a la instalación, en una serie de varios pasos que deben seguirse en un orden específico. En primer lugar, complete uno de los escenarios de instalación y, a continuación, lea la página posterior a la instalación Instalar la clave de licencia.
pip3 install pyjwt==2.3.0
¿Cuándo necesita instalar el complemento principal?
Debe instalar el complemento principal en todos los maestros de Salt después de una instalación nueva de Automation Config. El complemento principal no es necesario en los maestros de Salt que no necesitan comunicarse con Automation Config.
Si utilizó el escenario de instalación de Instalar SaltStack Config para menos de 1000 nodos, no es necesario instalar el complemento principal en el nodo en el que instaló Automation Config y su arquitectura relacionada. El instalador instala automáticamente el complemento principal en el nodo maestro de Salt. Sin embargo, el complemento principal solo se instala en el maestro de Salt en el que se ejecutó el instalador. Si tiene varios maestros, aún debe instalar el complemento principal en los otros maestros.
Si va a realizar una instalación manual de Automation Config (no recomendado), debe completar lo siguiente antes de instalar el complemento principal:
- Instalar y configurar la base de datos de PostgreSQL
- Instalar y configurar la base de datos de Redis
- Habilitar SSL (opcional)
# sseapi-config --default >/tmp/raas.conf # cd /etc/salt/master.d # vim -d raas.conf /tmp/raas.conf ...
Si instaló Salt mediante onedir, la ruta de acceso a este archivo ejecutable es /opt/saltstack/salt/extras-3.10/bin/sseapi-config.
Instalar el complemento principal mediante el área de trabajo Complementos principales
Para descargar e instalar la versión más reciente del complemento principal desde la interfaz de usuario de Automation Config, vaya a . En la pestaña Complementos principales, puede descargar el complemento o descargar el cliente.
Después de descargar el complemento principal, debe configurar el complemento principal.
Instalar el complemento principal mediante la CLI
Para instalar el complemento principal en el maestro de Salt:
A partir de la versión 8.13.0, el complemento principal incluye un motor tgtmatch que ahora descarga los grupos de destino que coinciden del servidor RaaS a los maestros de Salt. Se recomienda habilitar y configurar ese motor tgtmatch para que las conincidencias de grupos de destino respondan mejor, especialmente en entornos con:
- Un gran número de grupos de destino (100 o más)
- Un gran número de minions (3000 o más)
- Cambios frecuentes en los granos de minions (diarios o más frecuentes)
- Creación y eliminación frecuentes de minions (diarias o más frecuentes)
target_groups_from_master_only: true
- Inicie sesión en el maestro de Salt.
- Si es necesario, descargue el wheel del complemento principal desde Customer Connect.
El complemento principal se incluye en el archivo .tar.gz del instalador automatizado. Después de descargar y extraer el archivo.tar.gz, puede encontrar el complemento principal en el directorio
sse-installer/salt/sse/eapi_plugin/files
. - Para actualizar el complemento principal, desinstale y reinstale de forma manual el wheel de Python actualizado. Utilice los siguientes comandos de ejemplo, reemplazando con el nombre exacto del archivo wheel:
Nota: El complemento existente debe desinstalarse para evitar que haya varias instancias de sseapi-config.
pip3 uninstall SSEAPE-8.12.1.3-py3-none-any.whl mv /etc/salt/master.d/raas.conf /tmp salt-call pip.install SSEAPE-8.12.1.3-py3-none-any.whl cp /tmp/raas.conf /etc/salt/master.d/raas.conf systemctl restart salt-master
Configurar el complemento principal
Para configurar el maestro de Salt después de instalar el complemento principal:
- Inicie sesión en el maestro de Salt y compruebe si existe el directorio
/etc/salt/master.d
. Si no existe, créelo. - Genere las opciones de configuración del maestro.
Precaución: Si desea conservar la configuración al actualizar la instalación, realice una copia de seguridad del archivo de configuración del complemento principal existente antes de realizar este paso. A continuación, copie los ajustes pertinentes de la configuración existente en el archivo recién generado.
sudo sseapi-config --all > /etc/salt/master.d/raas.conf
Importante: Si instaló Salt mediante onedir, la ruta de acceso a este archivo ejecutable es /opt/saltstack/salt/extras-3.10/bin/sseapi-config. - Edite el archivo
raas.conf
generado y actualice los valores de la siguiente manera:Valor Descripción sseapi_ssl_validate_cert
Valida el certificado que utiliza la API (RaaS). El valor predeterminado es
True
.Si utiliza sus propios certificados emitidos por una CA, establezca este valor en
True
y configure las opcionessseapi_ssl_ca
,sseapi_ssl_cert
ysseapi_ssl_cert:
.De lo contrario, esta opción se establece como
False
para no validar el certificado.sseapi_ssl_validate_cert:False
sseapi_server
La dirección IP HTTP del nodo de RaaS es, por ejemplo,
http://example.com
, ohttps://example.com
si SSL está habilitado.sseapi_command_age_limit
Establece la antigüedad (en segundos) después de la cual se omiten los trabajos antiguos y potencialmente obsoletos. Por ejemplo, para omitir trabajos de más de un día de antigüedad, esta opción se establece en:
sseapi_command_age_limit:86400
Los trabajos omitidos seguirán existiendo en la base de datos y se mostrarán con el estado
Completed
en la interfaz de usuario de Automation Config.Es posible que en algunos entornos se necesite que el maestro de Salt esté sin conexión durante largos períodos y que ejecute los trabajos que se ponen en cola después de volver a estar en línea. Si esto se aplica a su entorno, establezca el límite de antigüedad en
0
.sseapi_windows_minion_deploy_delay
Establece un retraso para permitir que todos los servicios de Windows requeridos se activen. El valor predeterminado es 180 segundos. sseapi_linux_minion_deploy_delay
Establece un retraso para permitir que se activen todos los servicios necesarios de Linux. El valor predeterminado es 90 segundos. sseapi_local_cache load: 3600 tgt: 86400 pillar: 3600 exprmatch: 86400 tgtmatch: 86400
Establece el tiempo durante el que ciertos datos se almacenan en caché de forma local en cada maestro de Salt. Los valores son en segundos. Los valores de ejemplo son valores recomendados.
-
load: cargas útiles de salt save_load()
-
tgt: grupos de destino de SSE
-
pillar: datos del pilar SSE (cifrados)
-
exprmatch: datos que coinciden con la expresión de destino de SSE
-
tgtmatch: datos que coinciden con el grupo de destino de SSE
-
- OPCIONAL: Este paso solo es necesario para instalaciones manuales. Para comprobar que puede conectarse a SSL antes de conectar el complemento principal, edite el archivo
raas.conf
generado para actualizar los siguientes valores. Si no actualiza estos valores, el complemento principal utiliza el certificado generado predeterminado.Valor Descripción sseapi_ssl_ca
La ruta de acceso a un archivo de CA. sseapi_ssl_cert
La ruta de acceso al certificado. El valor predeterminado es /etc/pki/raas/certs/localhost.crt
.sseapi_ssl_key
La ruta de acceso a la clave privada del certificado. El valor predeterminado es /etc/pki/raas/certs/localhost.key
.id
Para realizar un comentario en esta línea, agregue #
al principio. No es obligatorio. - OPCIONAL: Actualice la configuración relacionada con el rendimiento. En los entornos grandes o cargados, es posible mejorar el rendimiento de las comunicaciones entre el maestro de Salt y Automation Config si se ajusta la siguiente configuración.
- Configure los motores del complemento principal:
Los motores
eventqueue
yrpcqueue
del complemento principal descargan algunas comunicaciones con Automation Config de rutas de código fundamentales para el rendimiento a procesos dedicados. Mientras los motores esperan la comunicación con Automation Config, las cargas útiles se almacenan en el sistema de archivos local del maestro de Salt para que los datos puedan persistir después de reiniciar el maestro de Salt. El motortgtmatch
mueve el cálculo de coincidencias de grupos de destino de minions del servidor RaaS a los maestros de Salt.Para habilitar los motores, asegúrese de que los siguientes ajustes estén presentes en el archivo de configuración del complemento de maestro de Salt (raas.conf):
engines: - sseapi: {} - eventqueue: {} - rpcqueue: {} - jobcompletion: {} - keyauth: {} - tgtmatch: {}
Para configurar el motor
eventqueue
, compruebe que los siguientes ajustes estén presentes:sseapi_event_queue: name: sseapi-events strategy: always push_interval: 5 batch_limit: 2000 age_limit: 86400 size_limit: 35000000 vacuum_interval: 86400 vacuum_limit: 350000
Los parámetros de cola se pueden ajustar de acuerdo con la forma en que funcionan juntos. Por ejemplo, si se asume un promedio de 400 eventos por segundo en el bus de eventos de Salt, los ajustes mostrados anteriormente permiten aproximadamente 24 horas de tráfico de eventos en cola para recopilar en el maestro de Salt antes de que los eventos más antiguos se descarten debido a los límites de tamaño o antigüedad.
Para configurar el motor
rpcqueue
, compruebe los siguientes ajustes en raas.conf:sseapi_rpc_queue: name: sseapi-rpc strategy: always push_interval: 5 batch_limit: 500 age_limit: 3600 size_limit: 360000 vacuum_interval: 86400 vacuum_limit: 100000
Para configurar el motor tgtmatch, asegúrese de que estos ajustes estén presentes en el archivo de configuración del complemento principal (/etc/salt/master.d/raas.conf).engines: - sseapi: {} - eventqueue: {} - rpcqueue: {} - jobcompletion: {} - keyauth: {} - tgtmatch: {} sseapi_local_cache: load: 3600 tgt: 86400 pillar: 3600 exprmatch: 86400 tgtmatch: 86400 sseapi_tgt_match: poll_interval: 60 workers: 0 nice: 19
Nota: Para utilizar la coincidencia de destinos en los maestros de Salt, el siguiente ajuste de configuración también debe estar presente en la configuración de RaaS:target_groups_from_master_only: true
. - Limitar tamaños de carga útil de granos de minions:
sseapi_max_minion_grains_payload: 2000
- Habilite la omisión de trabajos que sean anteriores a un tiempo definido (en segundos). Por ejemplo, utilice
86400
para omitir trabajos más antiguos que un día. Cuando se establece0
, esta función queda deshabilitada:sseapi_command_age_limit:0
Nota:Durante las actualizaciones del sistema, habilitar esta opción es útil para evitar que los comandos antiguos almacenados en la base de datos se ejecuten de forma inesperada.
Juntos, la puesta en cola de eventos en Salt y los motores de cola, la coincidencia de destinos de maestro de Salt, el límite de tamaño de carga útil de granos y el límite de antigüedad de los comandos en el complemento de maestro de Salt aumentan el rendimiento y reducen la latencia de las comunicaciones entre el maestro de Salt y Automation Config en las rutas de código más sensibles al rendimiento.
- Configure los motores del complemento principal:
- Reinicie el servicio principal.
sudo systemctl restart salt-master
- OPCIONAL: Podría querer ejecutar un trabajo de prueba para asegurarse de que el complemento principal habilite la comunicación entre el nodo maestro y el nodo de RaaS.
salt -v '*' test.ping
Aunque no se muestre ninguna actividad, por ejemplo, si no hay minions conectados, es probable que esto sea una señal de una configuración correcta.
Referencia de los ajustes de configuración
Estos ajustes en el archivo de configuración permiten que cada maestro de Salt se conecte a la API (RaaS). Puede encontrar estos ajustes en el archivo de configuración /etc/salt/master.d/raas.conf
.
La configuración del maestro de Salt en el archivo raas.conf tiene prioridad sobre la configuración existente en /etc/salt/master
. Si personalizó la configuración de fileserver_backend
o ext_pillar
en /etc/salt/master
, debe combinar manualmente estos ajustes para que se muestren en un solo archivo. Opcionalmente, puede volver a ordenar los back-end para cambiar la prioridad.
En la siguiente tabla, se explican los ajustes de configuración generales:
Opción | Descripción |
---|---|
id |
Identificador de maestro de Salt (se genera automáticamente si no se establece) |
sseapi_server |
URL del servidor de SSEAPI, por ejemplo, https://sse.example.com:443 |
engines |
Motores de Salt para habilitar (se recomiendan sseapi , eventqueue , rpcqueue , jobcompletion y keyauth ). |
master_job_cache |
sseapi para utilizar la memoria caché de trabajo principal de Automation Config |
event_return |
Regresador de eventos de Salt (se recomienda sseapi para utilizar el regresador de eventos de Automation Config) |
ext_pillar |
Orígenes de pilares externos (se recomienda sseapi ) |
fileserver_backend |
Back-end de servidor de archivos (se recomiendan sseapi y roots ) |
sseapi_update_interval |
Frecuencia de actualización desde el servidor de archivos (segundos, valor predeterminado 60) |
sseapi_poll_interval |
Frecuencia de sondeo de Automation Config para recopilar datos nuevos (segundos, valor predeterminado 30) |
sseapi_jce_poll_interval |
Agrega un retraso entre iteraciones en el motor jobcompletion de modo que se envía un máximo de 5760 comandos find_job por día por maestro de Salt (segundos, valor predeterminado 15) |
sseapi_timeout |
Tiempo de espera para llamadas de API (RaaS) (segundos, valor predeterminado 200) |
sseapi_pubkey_path |
Ruta de acceso al archivo de clave pública para autenticar el maestro de Salt con Automation Config |
sseapi_key_rotation |
Intervalo de rotación claves de autenticación de Automation Config para el maestro de Salt (segundos, valor predeterminado 86400) |
sseapi_cache_pillar |
Almacenamiento en caché de datos de pilares dentro de Automation Config (True o False, valor predeterminado False). |
sseapi_cluster_id |
(Opcional) Nombre de clúster de maestro de Salt para agrupar maestros de Salt en clústeres dentro de Automation Config |
sseapi_failover_master |
Si este maestro de Salt es un maestro de Salt de conmutación por error (True o False, valor predeterminado False) |
sseapi_command_age_limit |
Si se deben omitir los comandos de API (RaaS) anteriores a un tiempo definido (segundos, 0 para deshabilitar, valor predeterminado 0) |
En la siguiente tabla, se explican los ajustes de configuración de SSL:
Opción | Descripción |
---|---|
sseapi_ssl_key |
Ruta de acceso a la clave privada del certificado |
sseapi_ssl_cert |
Ruta de acceso al certificado |
sseapi_ssl_validate_cert |
Si se debe validar el certificado SSL de Automation Config (True o False, valor predeterminado True). |
En la siguiente tabla, se explican los ajustes del motor de cola de eventos, que se muestran debajo del encabezado sseapi_event_queue
:
Opción | Descripción |
---|---|
name |
Nombre de la cola de eventos (valor predeterminado sseapi-events , no es necesario cambiarlo) |
strategy |
Momento de poner en cola los eventos (always , on_failure o never , valor predeterminado never ) |
push_interval |
Frecuencia con la que se insertan eventos en Automation Config (segundos, valor predeterminado 5) |
batch_limit |
Cantidad máxima de eventos que se pueden insertar en Automation Config por intervalo (valor predeterminado 2000) |
age_limit |
Antigüedad máxima de los eventos en cola y eliminación de los eventos más antiguos (segundos, valor predeterminado 86400) |
size_limit |
Tamaño máximo de cola y eliminación de los eventos más antiguos (eventos, valor predeterminado 35000000) |
vacuum_interval |
Frecuencia de vacío de la base de datos de la cola (segundos, valor predeterminado 86400) |
vacuum_limit |
Tamaño máximo de cola al vaciar la base de datos de la cola (eventos, valor predeterminado 350000) |
En la siguiente tabla, se explican los ajustes del motor de cola de RPC, que se muestran debajo del encabezado sseapi_rpc_queue
:
Opción | Descripción |
---|---|
name |
Nombre de la cola de eventos (valor predeterminado sseapi-rpc , no es necesario cambiarlo) |
strategy |
Momento de poner en cola los eventos (always , on_failure o never , valor predeterminado never ) |
push_interval |
Frecuencia con la que se envían llamadas a Automation Config (segundos, valor predeterminado 5) |
batch_limit |
Cantidad máxima de llamadas que se pueden insertar en Automation Config por intervalo (valor predeterminado 500) |
age_limit |
Antigüedad máxima de las llamadas en cola y eliminación de las entradas más antiguas (segundos, valor predeterminado 3600) |
size_limit |
Tamaño máximo de cola y eliminación de las entradas más antiguas (eventos, valor predeterminado 360000) |
vacuum_interval |
Frecuencia de vacío de la base de datos de la cola (segundos, valor predeterminado 86400) |
vacuum_limit |
Tamaño máximo de cola al vaciar la base de datos de la cola (entradas, valor predeterminado 100000) |
sseapi_tgt_match
:
Opción | Descripción |
---|---|
poll_interval | Frecuencia, en segundos, con la que el motor debe solicitar información actualizada del grupo de destino de RaaS (valor predeterminado: 60) |
workers | Cuántos procesos de trabajo se deben crear para realizar cálculos de coincidencia de grupos de destino. El valor predeterminado (0) crea un proceso por núcleo de CPU hasta un límite de 8. |
nice | La prioridad de los trabajos que coinciden con los grupos de destino. El valor predeterminado (19) otorga a los trabajos la prioridad de programación más baja para evitar interferencias con otros procesos que se ejecutan en el maestro de Salt. |
En la siguiente tabla, se explican los ajustes de configuración de rutas de acceso. Después de la generación de la configuración inicial, tenga cuidado al cambiar estos ajustes. Los módulos se copiarán en estos directorios del proceso de instalación. Sin embargo, agregar rutas de acceso adicionales no tendrá ningún efecto negativo.
Opción | Descripción |
---|---|
beacons_dirs |
Rutas de módulos externos de señales |
engines_dirs |
Rutas de módulos externos de motores |
fileserver_dirs |
Rutas de módulos externos de servidores de archivos |
pillar_dirs |
Rutas de módulos externos de pilares |
returner_dirs |
Rutas de módulos externos de regresadores |
roster_dirs |
Rutas de módulos externos de listas |
runner_dirs |
Rutas de módulos externos de ejecutores |
module_dirs |
Rutas de módulos externos de Salt |
proxy_dirs |
Rutas de módulos externos de proxy |
metaproxy_dirs |
Rutas de módulos externos de metaproxy |
states_dirs |
Rutas de módulos externos de estados |
Qué hacer a continuación
Después de instalar y configurar el complemento principal, debe completar los pasos adicionales posteriores a la instalación. El siguiente paso es configurar el nodo de RaaS. Para continuar con el proceso posterior a la instalación, consulte Comprobar el archivo de configuración de RaaS.