Búsqueda de sitios web

Instalar y configurar el servidor SaltStack en Ubuntu x64


SaltStack: es un software de gestión de código abierto basado en Python. Esto es como Puppet y Ansible. Saltstack como marioneta, necesita software de agente. Nodos de cliente nombrados como minions.

En la aplicación SaltStack, tenga un servidor maestro y minions (nodos cliente).

Contamos con 5 servidores de la siguiente manera:
saltmaster.unixmen.com – Servidor maestro Ubuntu 14.04 x64
node1salt.unixmen.com – Ubuntu 14.04 x64 node1
node2salt.unixmen.com – CentOS6.7 x64 node2
node3salt.unixmen.com – CentOS6.7 x64 node3
node4salt.unixmen.com – FreeBSD 10.1 x64 node4

La topología de la red será tan fluida:

El nombre del servidor SaltMaster es saltmaster.unixmen.com y primero instalaremos y configuraremos este servidor.

Actualizar repositorios y paquetes en el servidor saltmaster:
root@saltmaster:~# apt-get update
root@saltmaster:~# apt-get dist-upgrade

Instale todos los paquetes desde sudo nombre de usuario::
jamal@saltmaster:~$sudo add-apt-repository ppa:saltstack/salt

Indexación de nuevos paquetes e instalación de paquetes necesarios para saltmaster (paquete salt-master para el servidor maestro, paquetes salt-ssh y salt-cloud para el control de recursos y para la documentación instalaremos el paquete salt-doc):
jamal@saltmaster:~$sudo apt-get update
jamal@saltmaster:~$sudo apt-get install salt-master salt-ssh salt-cloud salt-doc

En primer lugar, creamos una estructura de carpetas de control de configuración. De forma predeterminada, todo se coloca allí, en la carpeta /srv. Para comenzar el trabajo necesitamos las carpetas /srv/salt y /srv/pillar. Cree estas carpetas con el siguiente comando:
jamal@saltmaster:~$sudo mkdir -p /srv/{salt,pillar}

Configurar el archivo maestro. Debemos definir el diccionario fire_roots. Esto establece la ruta de las instrucciones de control de configuración de Salt Master. base define el entorno predeterminado. Usaremos carpetas creadas anteriormente, para este fin. Usamos instrucciones de administrador de la carpeta /srv/salt y de la carpeta /srv/formulas para las configuraciones descargadas de fuentes externas.

jamal@saltmaster:~$sudo nano /etc/salt/master
raíces_archivo:
 base:
    – /srv/salt/
    – /srv/fórmulas

Nota: Escribir con el formato correcto es importante porque Salt acepta configuraciones con estilo YAML. Por eso, si antes de las líneas no hay espacios vacíos, el demonio no se iniciará.

Luego definimos la carpeta raíz para la configuración del pilar Salt. Esto es similar a la configuración anterior. En el archivo /etc/salt/master definimos las siguientes líneas:
jamal@saltmaster:~$sudo vi /etc/salt/master
raíces_pilares:
 base:
    – /srv/pilar

Antes que nada, copiamos la clave pública de nuestro servidor saltmaster.unixmen.com. Necesitamos esta clave (la huella digital en negrita seleccionada se usará en todos los minions) en las configuraciones de minions:
jamal@saltmaster:~$sudo salt-key -F master
[sudo] contraseña para jamal:
Claves locales:
master.pem: 01:f5:a2:55:01:97:36:4e:14:a7:5a:7b:b6:30:10:c1
master.pub:  de:a8:00:e1:2b:5a:86:0e:3a:32:3a:b1:74:e1:cb:52

Terminamos las configuraciones del maestro de sal.

Iniciar las configuraciones de Salt Minion
Todo lo haremos paso a paso. Esto significa que comenzaremos a instalar minions desde node1salt.unixmen.com a los servidores node4salt.unixmen.com y luego los configuraremos.

Instale minion en el servidor node1salt.unixmen.com (Ubuntu):
jamal@node1salt:~$sudo apt-get update
jamal@node1salt:~$sudo apt-get dist-upgrade
jamal@node1salt:~$sudo add-apt-repository ppa:saltstack/salt
jamal@node1salt:~$sudo apt-get update
jamal@node1salt:~$sudo apt-get install salt-minion -y
jamal@node1salt:~$reinicio del servicio sudo salt-minion

Instale minion en los servidores node2salt.unixmen.com y node3salt.unixmen.com (CentOS):
Instalar repositorios EPEL.
[root@node2salt ~]# yum -y install wget
[root@node3salt ~]# yum -y install wget
[root@node2salt ~]# wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
[root@node3salt ~]# wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
[root@node2salt ~]# rpm -ivh epel-release-latest-7.noarch.rpm
[root@node2salt ~]# rpm -ivh epel-release-latest-7.noarch.rpm

Deshabilite Firewall y SeLinux para cada nodo:
[root@node2salt ~]# systemctl desactivar firewalld
[root@node3salt ~]# systemctl deshabilitar firewalld

Cambie la siguiente línea en el archivo /etc/selinux/config para cada uno de los nodos centos:
SELINUX=deshabilitado

Importe la clave del repositorio salt para cada uno de los nodos centos:
[root@node2salt ~]# rpm –importar https://repo.saltstack.com/yum/redhat/7/x86_64/latest/SALTSTACK-GPG-KEY.pub
[root@node3salt ~]# rpm –importar https://repo.saltstack.com/yum/redhat/7/x86_64/latest/SALTSTACK-GPG-KEY.pub

Cree el archivo /etc/yum.repos.d/saltstack.repo y agregue las siguientes líneas a cada uno de los nodos centos(node2salt y node3salt):
[repositorio saltstack] name=Repositorio SaltStack para RHEL/CentOS $releasever
baseurl=https://repo.saltstack.com/yum/redhat/$releasever/$basearch/latest
habilitado=1
gpgcheck=1
gpgkey=https://repo.saltstack.com/yum/redhat/$releasever/$basearch/latest/$releaseverSALTSTACK-GPG-KEY.pub

Instale el paquete salt-minion para cada uno de los nodos centos:
[root@node2salt ~]# yum clean expire-cache
[root@node3salt ~]# yum clean expire-cache
[root@node2salt ~]# yum install salt-minion -y
[root@node3salt ~]# yum install salt-minion -y

Agregue minion daemon al inicio para cada uno de los nodos de centos:
[root@node2salt ~]# inicio del servicio salt-minion
[root@node2salt ~]# chkconfig salt-minion en
[root@node3salt ~]# inicio del servicio salt-minion
[root@node3salt ~]# chkconfig salt-minion en

Instale minion en el servidor node4salt.unixmen.com (FreeBSD):
root@node4salt:~ # actualización del extracto de recuperación de portsnap
root@node4salt:~ # actualización del paquete
root@node4salt:~ # actualización del paquete
root@node4salt:~ # paquete de instalación de py27-salt

Si no encuentra salt en los repositorios del sistema, puede agregar las siguientes líneas al archivo /usr/local/etc/pkg/repos/saltstack.conf e instalar minion:
pila de sal: {
  URL: “https://repo.saltstack.com/freebsd/$ {ABI}/”,
  mirror_type: “http”,
 habilitado: sí
  prioridad: 10
}

Después de la instalación, copie la configuración de Minion del archivo de muestra.
root@node4salt:~ # cp /usr/local/etc/salt/minion.sample /usr/local/etc/salt/minion

Agregue minion a StartUP y comience:
root@node4salt:~ # sysrc salt_minion_enable=”SÍ”
salt_minion_enable:  -> SÍ

root@node4salt:~ # servicio salt_minion inicio

Depende del sistema operativo, para todos los servidores Linux y FreeBSD definimos la ruta del servidor maestro y la huella digital en los correspondientes /etc/salt/minion y /usr/local/etc/salt/minion.
maestro: saltmaster.unixmen.com
master_finger: 'de:a8:00:e1:2b:5a:86:0e:3a:32:3a:b1:74:e1:cb:52'

Después de eso reiniciamos minion daemon para todos los servidores:
jamal@saltmaster:~$sudo reiniciar salt-master
jamal@node1salt:~$reinicio del servicio sudo salt-minion
[root@node2salt ~]# reinicio del servicio salt-minion
[root@node3salt ~]# reinicio del servicio salt-minion
root@node4salt:~ # reinicio del servicio salt_minion

Ya enviamos claves de todos los minions al servidor saltmaster, pero el servidor maestro no acepta estas claves.

Podemos ver la clave Salt Minion de los servidores Minion de la siguiente manera:
jamal@node1salt:~$sudo salt-call key.finger –local
local:
a2:32:9d:78:ab:ef:4e:1b:80:31:ae:a0:2b:a0:d5:85

root@node4salt:~ # salt-call key.finger –local
local:
df:0d:01:7d:73:d1:3d:93:af:80:4b:8d:be:4b:2b:32

Nota: si desea ver las claves aprobadas del servidor saltmaster.unixmen.com, utilice el siguiente comando.
jamal@saltmaster:~$sudo salt-key -f node1salt.unixmen.com
Claves aceptadas:
node1salt.unixmen.com: a2:32:9d:78:ab:ef:4e:1b:80:31:ae: a0:2b:a0:d5:85

Para ver la lista de claves no aceptadas en el servidor saltmaster.unixmen.com use el siguiente comando (Las líneas debajo de las claves Claves no aceptadas son los servidores minion y debemos aprobar estos servidores ):
jamal@saltmaster:~$sudo salt-key –listar todo
Claves aceptadas:
Claves denegadas:
Claves no aceptadas:
node1salt.unixmen.com
node2salt.unixmen.com
node3salt.unixmen.com
node4salt.opeensource.az
Claves rechazadas:

Acepte todos los nodos en el servidor maestro saltmaster.unixmen.com:
jamal@saltmaster:~$sudo salt-key -a node1salt.unixmen.com
Se aceptarán las siguientes claves:
Claves no aceptadas:
node1salt.unixmen.com
¿Proceder? [n/Y] Y
Se acepta la clave para minion node1salt.unixmen.com.

jamal@saltmaster:~$sudo salt-key -a node2salt.unixmen.com
Se aceptarán las siguientes claves:
Claves no aceptadas:
node2salt.unixmen.com
¿Proceder? [n/Y] Y
Se acepta la clave para minion node2salt.unixmen.com.

jamal@saltmaster:~$sudo salt-key -a node3salt.unixmen.com
Se aceptarán las siguientes claves:
Claves no aceptadas:
node3salt.unixmen.com
¿Proceder? [n/Y] Y
Se acepta la clave para minion node3salt.unixmen.com.

jamal@saltmaster:~$sudo salt-key -a node4salt.opeensource.az
Se aceptarán las siguientes claves:
Claves no aceptadas:
node4salt.opeensource.az
¿Proceder? [n/Y] Y
Se acepta la clave para minion node4salt.opeensource.az.

Para fines de prueba, envíe paquetes de ping a todos los nodos minion:
jamal@saltmaster:~$sudo salt ‘*’ prueba.ping
node1salt.unixmen.com:
Verdadero
node2salt.unixmen.com:
Verdadero
node3salt.unixmen.com:
Verdadero
node4salt.opeensource.az:
Verdadero

Nota: Si queremos aceptar todos los minions con un solo comando, use salt-key -A

Para ver ejemplos, puede leer el artículo Ejemplos de SaltStack.