SaltStack: Primeros pasos

Una vez tenemos ya finalizada la instalación de un servidor SaltStack y un cliente o minion, es hora de comenzar a trabajar y ver de qué es capaz.
Lo primero de todo, debemos de tener claro que la comunicación entre cliente y servidor siempre viaja cifrada. El sistema usado es de clave pública--privada, muy similar a SSH, así que el cliente va a generar una clave y tendrá que compartirla con el servidor. Éste luego deberá aceptarla (o no) antes de comenzar a intercambiar datos.
Siempre desde la shell del servidor de Salt, podemos ejecutar,
shell> salt-key -L
Accepted Keys:
Unaccepted Keys:
  salt-client-1.local.net
Rejected Keys:
Para ver un listado de los servidores que ya tenemos aceptados dentro del master y también los que están rechazados. Como veis el nombre del equipo es siempre el que se configura en el minion, y excepto que lo cambiemos manualmente, por defecto cogerá el nombre del equipo, con dominio.
Si tenemos algún equipo pendiente de aceptar, lo que tendremos que ejecutar es,
shell> salt-key -A
The following keys are going to be accepted:
Unaccepted Keys:
  salt-client-2.local.net
Proceed? [n/Y] Y
  Key for minion salt-client-2.local.net accepted.

shell> salt-key -L
Accepted Keys:
  salt-client-1.local.net
  salt-client-2.local.net
Unaccepted Keys:
Rejected Keys:
Ahora que ya los tenemos aceptados, ya podemos comenzar a trabajar con los clientes de forma sencilla. Lo más básico, ver que un equipo responde a ping,
shell> salt 'salt-client-1.local.net' test.ping
salt-client-1.local.net:
    True
O que todos responden a ping,
shell> salt '*' test.ping
salt-client-1.local.net:
    True
salt-client-2.local.net:
    True
Aunque también se pueden hacer cosas más concretas e interesantes como,
shell> salt '*' cmd.run 'cat /etc/debian_version'
salt-client-2.local.net:
    7.1
salt-client-1.local.net:
    7.0
U ordenarle que hagan un ping a Google y que nos devuelva el resultado,
shell> salt -L 'salt-client-*' network.ping '8.8.8.8'
salt-client-1.local.net:
    PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
    64 bytes from 8.8.8.8: icmp_req=1 ttl=45 time=53.1 ms
    64 bytes from 8.8.8.8: icmp_req=2 ttl=45 time=48.4 ms
    64 bytes from 8.8.8.8: icmp_req=3 ttl=45 time=50.4 ms
    64 bytes from 8.8.8.8: icmp_req=4 ttl=45 time=48.2 ms

    --- 8.8.8.8 ping statistics ---
    4 packets transmitted, 4 received, 0% packet loss, time 3004ms
    rtt min/avg/max/mdev = 48.211/50.052/53.184/2.019 ms

salt-client-2.local.net:
    PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
    64 bytes from 8.8.8.8: icmp_req=1 ttl=45 time=51.1 ms
    64 bytes from 8.8.8.8: icmp_req=2 ttl=45 time=48.3 ms
    64 bytes from 8.8.8.8: icmp_req=3 ttl=45 time=48.3 ms
    64 bytes from 8.8.8.8: icmp_req=4 ttl=45 time=48.1 ms

    --- 8.8.8.8 ping statistics ---
    4 packets transmitted, 4 received, 0% packet loss, time 3004ms
    rtt min/avg/max/mdev = 48.162/48.991/51.149/1.257 ms
Como creo que vais observando desde la shell del servidor de SaltStack siempre se ejecuta el comando salt, seguido de
  • '*', 'salt-client-1'
    Es el nombre del cliente al que queremos conectar.
    Puede usar comodines o expresiones regulares si nos interesa conectar a uno o más de uno. También se permite conecta a uno o varios equipos según arquitectura, sistema operativo, etc.
  • cmd.run, test.ping
    Es el comando que vamos a ejecutar. Por defecto SaltStack tiene muchos ya definidos, los cuales podemos y debemos usar.
  • '8.8.8.8'
    Son los parámetros opcionales que se le pueden pasar a un comando.
Como primera aproximación no está mal. En próximas entradas iremos viendo cómo hacer más cosillas con SaltStack, cosas que realmente ya será de interés y aportarán algo a la administración de sistemas.

La entrada SaltStack: Primeros pasos, la puedes leer en Puppet Linux.


No hay comentarios :

Publicar un comentario

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

Últimos comentarios