El objetivo de este caso práctico es instalar mediante programación el servicio del minion de Salt en un minion. Para ello, se conectará una máquina virtual de Linux al entorno de Automation Config.
Requisitos previos
Antes de poder implementar un minion mediante la API en un entorno de Linux, debe hacer lo siguiente:
- Tener un entorno de Automation Config con RaaS implementado.
- Tener un maestro de Salt y un minion de Salt instalados.
- Implemente una máquina virtual Linux.
- Asegúrese de que el puerto 22 no esté detrás de un firewall y esté disponible para el uso de minions.
Procedimiento
- Compruebe que la carpeta etc/salt/cloud.deploy.d contenga una colección de estos archivos. Estos archivos deben coincidir con la versión de distribución del sistema operativo, así como con la versión de Salt que requiera su sistema.
Si no ve los archivos, póngase en contacto con el soporte técnico.
Nota: El xxxx del nombre de archivo, por ejemplo, salt-xxxx-redhat-8-x86_64-amd64.tar.gz, debe coincidir con la versión del maestro de Salt. Para comprobar la versión del maestro de Salt, ejecute el comando
salt-master -V en el maestro de Salt.
- Si su entorno está aislado, complete los siguientes pasos:
- Abra el archivo de configuración de RaaS en
/etc/raas/raas
.
- Agregue estas líneas al archivo de configuración:
minion_deployment:
airgap_install: true
- Reinicie el servicio RaaS mediante el comando
service raas restart
.
Nota: Si utiliza una máquina virtual Linux reforzada, es posible que en algunas situaciones los scripts no se puedan ejecutar desde
/tmp
en la máquina virtual.
- Para identificar el FQDN del maestro de Salt, ejecute el comando
salt saltmaster grains.get fqdn
en el terminal del maestro de Salt.
- Ejecute el comando ping [FQDN] a fin de asegurarse de que el FQDN esté configurado para el maestro de Salt.
- Para abrir Python, ejecute
python3
.
- Realice esta llamada API mediante un cliente SSEAPI con las credenciales correctas para su entorno:
from sseapiclient import APIClient
client = APIClient('https://<master-ip>', '<ssc-username>', '<sscpassword>', ssl_validate_cert=False)
client.api.minions.deploy_minion(
master_id = '<master-id>',
host_name_ip = '<prospective minion’s ip>',
os = ‘<prospective minion’s os>’,
minion_id = '<desired-minion-name-for-prospective-minion>',
username = '<ssh-username-for-prospective-minion>',
password = '<ssh-password-for-prospective-minion>',
)
La función deploy.minion
comenzará a ejecutarse en el entorno de Automation Config. Puede comprobar que el trabajo se esté ejecutando en la pestaña Actividad de la interfaz de usuario de Automation Config.
Nota: Si va a implementar un minion desde Automation Assembler, Automation Assembler realiza esta llamada API.
Resultados
El minion se implementó y configuró correctamente desde el entorno de Linux y la llamada API.
Qué hacer a continuación
Compruebe que el minion se haya implementado correctamente ejecutando un comando
test.ping en el minion mediante la ventana
Ejecutar comando o ejecutando los comandos
\* test.ping y
\* test.versions en la ventana del comando maestro de Salt.