SaltStack fue de­sa­rro­lla­do en GitHub, un lugar de encuentro virtual para de­sa­rro­lla­do­res. En marzo de 2011 este software de código abierto se puso a di­s­po­si­ción del público. Salt, como se apoda a la he­rra­mie­n­ta de gestión de la co­n­fi­gu­ra­ción, se utiliza para el control y la vi­gi­la­n­cia au­to­ma­ti­za­dos de los sistemas de se­r­vi­do­res. SaltStack permite instalar y co­n­fi­gu­rar el software desde un ordenador central y ejecutar los comandos de co­n­fi­gu­ra­ción que se deseen. Aquí te contamos lo más especial de Salt, cómo lo utilizan los ad­mi­ni­s­tra­do­res y qué ventajas tiene para ti esta he­rra­mie­n­ta de gestión.

Private Cloud powered by VMware
Pago por uso y el más alto nivel de seguridad de los datos.

Bajo la división Arsys Cloud Solutions, diseñamos So­lu­cio­nes a tu medida.

¿Qué hace a SaltStack tan especial?

SaltStack es un software libre y mu­l­ti­pla­ta­fo­r­ma de la Fundación de Software Apache. Permite realizar el ma­n­te­ni­mie­n­to a distancia, crear estados de destino pre­via­me­n­te definidos e iniciar controles, tanto en el propio centro de datos de la empresa como en una nube externa (in­de­pe­n­die­n­te­me­n­te del proveedor). El fa­bri­ca­n­te menciona como pri­n­ci­pa­les ventajas de SaltStack la sencillez de la in­s­ta­la­ción, la rapidez de control de la co­mu­ni­ca­ción en mi­li­se­gu­n­dos y la po­si­bi­li­dad de gestionar un gran número de se­r­vi­do­res en paralelo.

En co­m­pa­ra­ción directa con sistemas de fu­n­cio­na­mie­n­to similar, como Terraform o Puppet, SaltStack demuestra su su­pe­rio­ri­dad en la ve­r­sa­ti­li­dad de sus po­si­bi­li­da­des de apli­ca­ción y su velocidad. El principio, no obstante, es el mismo: el ad­mi­ni­s­tra­dor configura los otros or­de­na­do­res de forma ce­n­tra­li­za­da a partir de un servidor. El software de gestión de la co­n­fi­gu­ra­ción los im­ple­me­n­ta en cada uno de los clientes. SaltStack utiliza la bi­blio­te­ca de in­te­r­ca­m­bio de mensajes ZeroMQ para la co­mu­ni­ca­ción entre el servidor y los clientes. De este modo, tanto los pequeños como los grandes volúmenes de datos se pueden di­s­tri­buir con rapidez. La co­mu­ni­ca­ción queda asegurada mediante el cifrado de datos con el método de en­cri­p­ta­ción simétrica AES. La función de tra­n­s­po­r­te fiable de eventos así­n­cro­nos (RAET), im­ple­me­n­ta­da en 2014, pro­po­r­cio­na una seguridad adicional en el tra­n­s­po­r­te de datos.

Las co­n­fi­gu­ra­cio­nes reales se ejecutan con SaltStack a través de un archivo de texto en formato YAML. Este sencillo lenguaje de marcado permite la re­pre­se­n­ta­ción de datos es­tru­c­tu­ra­dos de forma se­cue­n­cial. El lenguaje de pro­gra­ma­ción Python permite combinar muchos comandos de co­n­fi­gu­ra­ción con SaltStack in­me­dia­ta­me­n­te listos para su ejecución.

Di­ve­r­si­dad ad­mi­ni­s­tra­ti­va con SaltStack

Además de la ad­mi­ni­s­tra­ción de sistemas como Linux, SaltStack también se puede utilizar para gestionar clientes MacOS y Windows. Para esto, SaltStack ofrece la interfaz universal Salt Cloud. Esto permite co­n­fi­gu­rar y controlar numerosos sistemas. Con ella se pueden incluso controlar au­to­má­ti­ca­me­n­te las nubes privadas y los entornos de se­r­vi­do­res virtuales.

Nota

En el tutorial en inglés de DevOp apre­n­de­rás todo lo que necesites saber para usar Terraform y SaltStack.

Ventajas para los ad­mi­ni­s­tra­do­res

  1. No importa qué sistema deseen modificar los ad­mi­ni­s­tra­do­res: los comandos en SaltStack son siempre los mismos. Esto lo hace fácil de manejar y fácil de aprender.
  2. Esta he­rra­mie­n­ta no solo asegura la pro­pa­ga­ción au­to­ma­ti­za­da de las co­n­fi­gu­ra­cio­nes, sino que también puede reac­cio­nar ante aco­n­te­ci­mie­n­tos, ya que registra qué tipo de co­mu­ni­ca­ción se in­te­r­ca­m­bia en la in­frae­s­tru­c­tu­ra.
  3. SaltStack está co­m­ple­ta­me­n­te incluido en Salt Open y está di­s­po­ni­ble para el público en la licencia Apache 2.0. Además, podrás pa­r­ti­ci­par ac­ti­va­me­n­te en el diseño del software. Si también quieres recibir asi­s­te­n­cia técnica del fa­bri­ca­n­te, se ofrece la versión En­te­r­pri­se.

Los términos más im­po­r­ta­n­tes

Si utilizas SaltStack, te en­co­n­tra­rás con ciertos términos re­la­cio­na­dos con la he­rra­mie­n­ta de gestión de la co­n­fi­gu­ra­ción. A co­n­ti­nua­ción, hemos resumido los más im­po­r­ta­n­tes.

Salt master

El Salt master fue creado en el lenguaje de pro­gra­ma­ción Python y es el servidor para el Messenger ZeroMQ, que a su vez transmite los datos al cliente. Los se­r­vi­do­res también se llaman master (maestro) y minions (su­bal­te­r­nos). De este modo, el servidor de SaltStack se llama Salt master. El control central de todos los sistemas de destino in­te­gra­dos tiene lugar a través de este. Los comandos y los archivos se tra­n­s­fie­ren a través de este.

Salt minion

Los Salt minions reciben los comandos del Salt master. A su vez, estos informan de todos los aco­n­te­ci­mie­n­tos y re­su­l­ta­dos re­le­va­n­tes.

Salt syndic

El Salt syndic es un Salt master in­te­r­me­dio. Actúa entre el Salt master y los Salt minions.

Salt SSH

Oca­sio­na­l­me­n­te, el Salt minion no se puede ejecutar en un sistema de destino. A través de SSH, el Salt master puede contactar di­re­c­ta­me­n­te con este sistema. No obstante, se omite el in­te­r­ca­m­bio con ZeroMQ, lo que puede ra­le­n­ti­zar co­n­si­de­ra­ble­me­n­te el proceso. Además, se pueden omitir algunas funciones y módulos.

Salt proxy minion

El Salt proxy minion permite controlar di­s­po­si­ti­vos de terceros. Esto incluye, por ejemplo, di­s­po­si­ti­vos de red como en­ru­ta­do­res o co­n­mu­ta­do­res.

¿Cómo funciona SaltStack?

Desde el Salt master, los Salt minions reciben comandos a través de buses como ZeroMQ, SSH o proxy minion. Los Salt minions se registran con una clave in­di­vi­dual. El Salt master debe confirmar el comando en el primer contacto para que se pueda ejecutar. Esto significa que se produce una co­mu­ni­ca­ción cifrada con los pares de claves.

Su­po­n­ga­mos que quieras co­n­fi­gu­rar un software: primero, das la orden co­rre­s­po­n­die­n­te al Salt master, que la transmite a su vez a todos los minions. El software se configura au­to­má­ti­ca­me­n­te en todos los di­s­po­si­ti­vos de la in­frae­s­tru­c­tu­ra. El master se puede también duplicar como Salt syndic.

Ir al menú principal