Utilizamos cookies propias y de terceros para hacer funcionar y mejorar nuestros servicios. Si continúa navegando, consideramos que acepta su uso. Puede obtener más información visitando nuestra política de cookies.
SALTSTACK - MODULOS PERSONALIZADOS
Describimos como podemos crear módulos personalizados en SaltStack para su posterior ejecución en nuestra infraestructura.
Cargando video...
NOTA: Solo puedes ver una versión limitada del video a baja resolución, si quieres ver la versión completa por favor regístrate y obtén alguno de nuestros planes!
Descripción del Vídeo
Construyendo la Primera Función de un Módulo Personalizado:
Salt viene preconfigurado para leer todos los módulos personalizados en la ruta “/srv/salt/_modules”, sin embargo ninguno de los instaladores crea el directorio, así que se procederá a crearlo:
$> sudo mkdir -p /srv/salt/_modules/
Salt crea una variable definida como __salt__ que es un paquete que se crea dentro de cada módulo luego que Salt los carga en el Minion y representa un diccionario de Python que contiene todas las funciones que el script puede ejecutar
$> vi /srv/salt/_modules/customuser.py
def users_as_csv():
"""
Extrae todos los usuarios del Minion, pero en formato CVS
Ejemplo CLI:
.. code-block:: bash
salt '*' customuser.users_as_csv
"""
user_list = __salt__['user.list_users']()
csv_list = ','.join(user_list)
return csv_list
Sincronizando la ejecución de módulos con los minions
Ahora hay que sincronizar la función con todos los Minions, para ello SALT ofrece una función propia “saltutil.sync_all”.
$> sudo salt '*' saltutil.sync_all
myminion:
----------
beacons:
grains:
log_handlers:
modules:
- modules.customuser
output:
renderers:
returners:
states:
utils:
Ahora que la función ya se sincronizó, se procederá a probar lo que se escribió:
$> sudo salt '*' customuser.users_as_csv
myminion:
adm,avahi-autoipd,bin,daemon,dbus,ejos,lp,mail,mailnull,...
Rating
Global
comments powered by Disqus