Cómo enviar comandos y aplicar estados a los minions de Linux desde el controlador Salt

En un artículo anterior, demostré cómo instalar SaltStack en un controlador y conectarlo a un minion (ver: Cómo implementar SaltStack de código abierto para la configuración y gestión automatizada de servidores). Con SaltStack funcionando, es posible enviar comandos a tus minions. Esto se puede utilizar dentro de tu centro de datos en las instalaciones o en la nube.

Índice de Contenido
  1. Lo que necesitarás
  2. Cómo verificar el uso de espacio en disco
  3. Cómo instalar software en un minion
  4. Cómo aplicar un estado de Salt

Lo que necesitarás

Cómo enviar comandos y aplicar estados a los minions de Linux desde el controlador Salt - Nube | Imagen 1 Newsmatic

Para que esto funcione, necesitarás un SaltController y al menos un minion configurado. Puedes tener tantos minions como necesites. Asegúrate de haber leído el tutorial anterior para implementar el controlador y los minions en primer lugar.

Cómo verificar el uso de espacio en disco

Lo primero que haremos es verificar el uso de espacio en disco en todos nuestros minions (en mi caso, solo tengo uno). La forma en que SaltStack funciona es que ejecutas salt e instruyes a emitir comandos específicos en los minions. Recuerda que, en el artículo anterior, probamos la conexión del minion usando ping de la siguiente manera:

sudo salt UBUNTUSERVER test.ping

En el comando anterior, UBUNTUSERVER es el nombre del minion y test.ping es el comando que se ejecutará en el minion.

Cómo funciona el protocolo FTP y cómo resolver problemas relacionados con él

Ahora que sabemos que nuestro controlador y minion aún se ven mutuamente, veamos cuál es el uso de espacio en disco en el minion con el siguiente comando:

sudo salt UBUNTUSERVER disk.usage

El comando anterior informará algo como:

UBUNTUSERVER:
----------
/:
----------
1K-blocks:
102684600
available:
90923280
capacity:
7%
filesystem:
/dev/sda2
used:
6502212
/dev:
----------
1K-blocks:

1488292
available:
1488292
capacity:
0%
filesystem:
udev
used:
0
/dev/shm:
----------
1K-blocks:
1532172
available:
1531848
capacity:
1%
filesystem:
tmpfs
used:
324

Habrá considerablemente más resultados, pero lo hemos recortado para ahorrar espacio. Si tienes más de un minion conectado, puedes ver el uso de espacio en disco de cada uno de ellos con el comando:

Microsoft lanza servicio gratuito de almacenamiento en la nube para usuarios de Windows

sudo salt '*' disk.usage

También puedes enviar un comando compuesto a tus minions. Estos comandos están en una lista separada por comas de la siguiente manera:

sudo salt '*' cmd.run,test.ping,test.echo 'cat /proc/cpuinfo',,"¡Hola Newsmatic!"

En el ejemplo anterior, se ejecutarían tres comandos:

cmd.run
test.ping
test.echo

Donde se complica es con la entrada para cada comando. Tanto cmd.run como test.echo requieren entrada, mientras que test.ping no. Los comandos se enumeran primero y luego se enumera la entrada para cada comando. Cada sección se delimita con comas, por eso la sección de entrada parece tener dos comas juntas. Esto se debe a que:

Cómo evitar que el archivo de registro de transacciones en SQL Server crezca demasiado grande
  • ‘cat /proc/cpuinfo’ es la entrada para cmd.run

  • test.ping no requiere entrada

  • “¡Hola Newsmatic!” es la entrada para test.echo

Cómo instalar software en un minion

Ahora, instalemos NGINX en nuestro minion. Para ello, utilizaremos el comando pkg.install de la siguiente manera:

sudo salt UBUNTUSERVER pkg.install nginx

Supongamos que tienes 100 minions conectados a tu controlador, pero solo cinco de esos minions serán servidores web. Podrías ejecutar el siguiente comando:

Debería su organización migrar a Google Apps desde Microsoft Exchange

sudo salt web1,web2,web3,web4,web5 pkg.install nginx

La salida del comando anterior incluirá:

UBUNTUSERVER:
----------


nginx:
----------
new:
1.18.0-0ubuntu1
old:
nginx-common:
----------
new:
1.18.0-0ubuntu1
old:
nginx-core:
----------
new:
1.18.0-0ubuntu1
old:

Ahora deberías poder ingresar la dirección IP de cualquiera de esos servidores web en un navegador web y ver la página de bienvenida de NGINX. O bien, puedes verificarlo ejecutando el siguiente comando:

sudo salt web1,web2,web3,web4,web5 cmd.run 'ls -l /var/www/html'

La salida del comando anterior incluirá:

Google vs Microsoft: Quién ofrece el mejor almacenamiento en la nube

index.nginx-debian.html

Cómo aplicar un estado de Salt

Supongamos que deseas que esos servidores NGINX también incluyan rsync y curl. Eso significa que quieres que esos servidores estén en un estado específico. Para hacerlo, aplicas un estado de Salt. Para esto, crearás un archivo .sls que incluya los paquetes a instalar. Para nuestro estado, nos aseguraremos de que NGINX, rsync y curl estén instalados.

Antes de hacer esto, crea un nuevo directorio con el comando:

sudo mkdir /srv/salt

Ahora, crea el archivo .sls con el comando:

sudo nano /srv/salt/webserver_setup.sls

Cómo cambiar y administrar la cuenta de Administrador local en Windows mediante Group Policy

En el archivo, pega lo siguiente:

network_utilities:
pkg.installed:
- pkgs:
- rsync
- curl
nginx_pkg:
pkg.installed:
- name: nginx
nginx_service:
service.running:
- name: nginx
- enable: True
- require:
- pkg: nginx_pkg

Guarda y cierra el archivo.

Para aplicar el estado a los minions del servidor web, emite el siguiente comando:

sudo salt web1,web2,web3,web4,web5 state.apply webserver_setup

El estado se aplicará y los cinco servidores web tendrán los paquetes requeridos instalados.

Cómo generar cadenas aleatorias únicas en una aplicación escalable

Y eso es lo básico para enviar comandos y aplicar estados a los minions de Linux desde el controlador de SaltStack. Con esta capacidad, tu trabajo de administración se vuelve mucho más fácil.

Suscríbete al canal de YouTube How To Make Tech Work de Newsmatic para obtener los últimos consejos tecnológicos para profesionales de negocios por parte de Jack Wallen.

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Nube, allí encontraras muchos artículos similares a Cómo enviar comandos y aplicar estados a los minions de Linux desde el controlador Salt , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.