Comenzando con SaltStack en Ubuntu 17.04

SaltStack es un programa de administración de configuración basado en Python que está optimizado para la automatización de archivos de configuración, implementaciones y cualquier otra cosa bajo el tema del centro de datos definido por software. En esta guía, aprenderá cómo comenzar con SaltStack, agregar sus primeros nodos y escribir su primera fórmula.

Requisitos

  • Vultr instancia ejecutando Ubuntu 17.04 (maestro)
  • Vultr instancia ejecutando Ubuntu 17.04 (minion)

Terminología

SaltStack utiliza algunas palabras clave que representan un dispositivo o configuración particular, como se explica a continuación:

Maestro

Esta es la instancia maestra que se conecta a todos los servidores agregados a su "clúster" SaltStack, por lo que también ejecuta cualquier comando / comunicación a sus servidores.

Esbirro

Los servidores que se agregan a su SaltStack se llaman minions. Cualquier acción se realiza en uno, en un grupo o en todos tus secuaces.

Fórmula

Una fórmula representa un archivo o un conjunto de archivos que presenta a los minions los comandos que deben ejecutarse. Esto puede ser la instalación de una sola aplicación, como nginxdesplegar archivos de configuración, etc.

Pilar

Un pilar es un archivo que almacena información relacionada con un grupo de minions o un solo minion. Como ejemplo, usaría este tipo de archivo para almacenar los "Hosts virtuales" para Nginx para un minion en particular.

Configuración del servidor

Maestro

Primero, comenzaremos con la configuración del maestro para nuestro clúster SaltStack:

apt-get update
apt-get dist-upgrade
apt-get install salt-master

Por defecto, el maestro SaltStack no está escuchando en ninguna interfaz, ya que el maestro generalmente se está comunicando con los secuaces a través de Internet público. Tenemos que hacer un pequeño cambio en el archivo de configuración que se puede encontrar en /etc/salt/master:

# The address of the interface to bind to:
interface: 0.0.0.0

Después de que los cambios se hayan escrito en el archivo, reinicie el servicio maestro:

service salt-master restart

Esbirro

Ahora podemos proceder con la adición de nuestro primer minion. Siga recto e instale los paquetes necesarios:

apt-get update
apt-get dist-upgrade
apt-get install salt-minion

Luego, necesitamos hacer otro pequeño cambio en la configuración de SaltStack del minion que se puede encontrar en /etc/salt/minion:

# Set the location of the salt master server. If the master server cannot be
# resolved, then the minion will fail to start.
master: <master_server_ip>

Reemplace <master_server_ip>con la dirección IP de su servidor maestro como se configuró anteriormente. Sin embargo, lo ideal sería configurar un registro DNS para esto, a fin de facilitar el cambio del servidor maestro.

Luego, tenemos que reiniciar el servicio de minion para que los cambios se activen:

service salt-minion restart

Operaciones maestras de SaltStack

Ahora tenemos una configuración de maestro y siervo en funcionamiento, por lo que podemos seguir adelante directamente y trabajar con un pequeño conjunto de comandos de SaltStack en el maestro.

Mostrando todos los minions

# salt-key -L
Accepted Keys:
Denied Keys:
Unaccepted Keys:
Rejected Keys:

Nota: Ya le hemos dicho al minion a qué servidor maestro debe conectarse. Por lo tanto, si has seguido esta guía, ya verías al minion debajo de la Unaccepted Keys:sección.

Aceptar un súbdito no aceptado

# salt-key -a <minion_id>

Aceptar a todos los súbditos no aceptados

# salt-key -A

Eliminar a un minion

# salt-key -d <minion_id>

Nota: <minion_id> generalmente representa el nombre de host UNIX de sus minions y se almacena en el /etc/salt/minion_idarchivo en los minions.

Creando tu primera fórmula

Después de agregar nuestro minion al maestro, podemos continuar escribiendo nuestra primera fórmula. Inicialmente, tenemos que crear la carpeta que almacena nuestras fórmulas:

mkdir -p /srv/salt/

Crea la carpeta para nuestra primera fórmula:

mkdir -p /srv/salt/nginx

Básicamente, cualquier instrucción para una fórmula se almacena en el init.slsarchivo, por ejemplo /srv/salt/nginx/init.sls,. Como hay una inmensa cantidad de operaciones que se pueden realizar a través de una fórmula, escribiremos una pequeña fórmula que instala Nginx:

nginx:
  pkg:
    - installed

Ejecutando tu primera fórmula

Después de escribir en el init.slsarchivo como se explicó anteriormente, podemos continuar y ejecutarlo:

salt '*' state.sls nginx

Nota: nginx representa el nombre de la carpeta que hemos creado previamente.

Conclusión

SaltStack es un muy buen software para automatizar cualquier tipo de archivos de configuración, despliegues de servicios, despliegues iniciales de servidores y similares. Debido al hecho de que SaltStack se basa en Python, también puede agregar fácilmente sus propios módulos, si tiene fluidez con el idioma. ¡Feliz automatización!



Leave a Comment

Cómo instalar Foreman en Ubuntu 16.04 LTS

Cómo instalar Foreman en Ubuntu 16.04 LTS

¿Usando un sistema diferente? Foreman es una herramienta gratuita y de código abierto que lo ayuda con la configuración y administración de servidores físicos y virtuales. Forema

Creating Snapshots With Packer

Creating Snapshots With Packer

What is Packer? Packer is a server imaging tool developed by HashiCorp. Server imaging; or alternatively, immutable infrastructure; is a popular alternativ

Cómo instalar SaltStack en CentOS 7

Cómo instalar SaltStack en CentOS 7

SaltStack, o Salt, es una solución de gestión de configuración de código abierto popular que se puede utilizar para implementar ejecución remota, gestión de configuración, bacalao

Usando SaltStack con pilares en Ubuntu 17.04

Usando SaltStack con pilares en Ubuntu 17.04

Si bien SaltStack es una gran herramienta para ejecutar operaciones en muchos servidores simultáneamente, también admite configuraciones predeterminadas definidas por host almacenadas en un

Vultr Load Balancers

Vultr Load Balancers

What is a Load Balancer Load Balancers sit in front of your application and distribute incoming traffic across multiple instances of your application. Fo

Uso de Chef-solo para configurar una aplicación Django en Ubuntu

Uso de Chef-solo para configurar una aplicación Django en Ubuntu

Hay muchas formas de automatizar el proceso de configuración y configuración de una caja. Por alguna razón, si todo nuestro sistema en este punto comprende solo

How to Install and Configure Ansible on CentOS 7 for Use With Windows Server

How to Install and Configure Ansible on CentOS 7 for Use With Windows Server

Using a Different System? Ansible is an open source tool for automating tasks. It manages the configuration of your Linux and Windows servers. It work

How to Install Strider CD on Ubuntu 18.04

How to Install Strider CD on Ubuntu 18.04

Introduction Strider CD is an open source continuous deployment platform. The application is written in Node.js and uses MongoDB as a storage backend. Stride

Cómo instalar y configurar Concourse CI en CentOS 7

Cómo instalar y configurar Concourse CI en CentOS 7

¿Usando un sistema diferente? Introducción Continuous Integration es una práctica de desarrollo de software DevOps que permite a los desarrolladores fusionar frecuentemente

Cómo instalar y configurar GoCD en CentOS 7

Cómo instalar y configurar GoCD en CentOS 7

¿Usando un sistema diferente? GoCD es un sistema de automatización y entrega continua de código abierto. Le permite modelar flujos de trabajo complejos utilizando su paralelo

How to Install and Configure Concourse CI on Ubuntu 16.04

How to Install and Configure Concourse CI on Ubuntu 16.04

Using a Different System? Introduction Continuous Integration is a DevOps software development practice which enables the developers to frequently merge th

Cómo instalar y configurar Ansible en Debian 9 para usar con Windows Server

Cómo instalar y configurar Ansible en Debian 9 para usar con Windows Server

¿Usando un sistema diferente? Ansible es una herramienta de código abierto para automatizar tareas. Gestiona la configuración de sus servidores Linux y Windows. Funciona

Cómo instalar Jenkins en CentOS 7

Cómo instalar Jenkins en CentOS 7

Jenkins es una herramienta popular de CI de código abierto (integración continua) que se usa ampliamente para el desarrollo, implementación y automatización de proyectos. Este artículo será

Using Chocolatey Package Manager on Windows

Using Chocolatey Package Manager on Windows

Introduction Chocolatey brings package management that makes administering software and dependencies easy on Linux, to Windows. You can quickly and easil

Cómo instalar Foreman en CentOS 7

Cómo instalar Foreman en CentOS 7

¿Usando un sistema diferente? Foreman es una herramienta gratuita y de código abierto que lo ayuda con la configuración y administración de servidores físicos y virtuales. Forema

How to Install Drone CI on Ubuntu 18.04

How to Install Drone CI on Ubuntu 18.04

Introduction Drone is an automated, continuous testing and delivery platform which runs on your own infrastructure. Drone supports any language, service o

ZPanel y Sentora en CentOS 6 x64

ZPanel y Sentora en CentOS 6 x64

ZPanel, un panel de control de alojamiento web popular, se bifurcó en 2014 a un nuevo proyecto llamado Sentora. Aprende a instalar Sentora en tu servidor con este tutorial.

Cómo instalar Vtiger CRM Open Source Edition en CentOS 7

Cómo instalar Vtiger CRM Open Source Edition en CentOS 7

Aprende cómo instalar Vtiger CRM, una aplicación de gestión de relaciones con el cliente, en CentOS 7 para aumentar tus ventas y mejorar el servicio al cliente.

Cómo instalar el servidor Counter-Strike 1.6 en Linux

Cómo instalar el servidor Counter-Strike 1.6 en Linux

Esta guía completa le mostrará cómo configurar un servidor Counter-Strike 1.6 en Linux, optimizando el rendimiento y la seguridad para el mejor juego. Aprende los pasos más recientes aquí.

¿Puede la IA luchar con un número cada vez mayor de ataques de ransomware?

¿Puede la IA luchar con un número cada vez mayor de ataques de ransomware?

Los ataques de ransomware van en aumento, pero ¿puede la IA ayudar a lidiar con el último virus informático? ¿Es la IA la respuesta? Lea aquí, sepa que la IA es una bendición o una perdición

ReactOS: ¿Es este el futuro de Windows?

ReactOS: ¿Es este el futuro de Windows?

ReactOS, un sistema operativo de código abierto y gratuito, está aquí con la última versión. ¿Puede satisfacer las necesidades de los usuarios de Windows de hoy en día y acabar con Microsoft? Averigüemos más sobre este estilo antiguo, pero una experiencia de sistema operativo más nueva.

Manténgase conectado a través de la aplicación de escritorio WhatsApp 24 * 7

Manténgase conectado a través de la aplicación de escritorio WhatsApp 24 * 7

Whatsapp finalmente lanzó la aplicación de escritorio para usuarios de Mac y Windows. Ahora puede acceder a Whatsapp desde Windows o Mac fácilmente. Disponible para Windows 8+ y Mac OS 10.9+

¿Cómo puede la IA llevar la automatización de procesos al siguiente nivel?

¿Cómo puede la IA llevar la automatización de procesos al siguiente nivel?

Lea esto para saber cómo la Inteligencia Artificial se está volviendo popular entre las empresas de pequeña escala y cómo está aumentando las probabilidades de hacerlas crecer y dar ventaja a sus competidores.

La actualización complementaria de macOS Catalina 10.15.4 está causando más problemas que resolver

La actualización complementaria de macOS Catalina 10.15.4 está causando más problemas que resolver

Recientemente, Apple lanzó macOS Catalina 10.15.4, una actualización complementaria para solucionar problemas, pero parece que la actualización está causando más problemas que conducen al bloqueo de las máquinas Mac. Lee este artículo para obtener más información

13 Herramientas comerciales de extracción de datos de Big Data

13 Herramientas comerciales de extracción de datos de Big Data

13 Herramientas comerciales de extracción de datos de Big Data

¿Qué es un sistema de archivos de diario y cómo funciona?

¿Qué es un sistema de archivos de diario y cómo funciona?

Nuestra computadora almacena todos los datos de una manera organizada conocida como sistema de archivos de diario. Es un método eficiente que permite a la computadora buscar y mostrar archivos tan pronto como presiona buscar.