[Linux37-2] El trabajo Saltstack devuelve datos, salt-ssh, arquitectura distribuida salt-syndic

1. Dos formas de regresar al trabajo


Documento oficial de trabajo: docs.saltstack.cn/topics/jobs/

Documento del sitio web oficial de implementación de Mysql para devolver datos: docs.saltstack.cn/ref/returners/all/

  • El resultado en caché está en el lado maestro / var / cache / salt / master / jobs / Abajo, el valor predeterminado es 24 horas para borrar

1.1 Regreso a la base de datos desde el final del minion


Inserte la descripción de la imagen aquí

  • Ventajas: Al almacenar datos, no supondrá ninguna carga adicional para el Salt Master.
  • Desventajas: Cada Salt Minion está conectado a un caché de trabajo externo, lo que puede provocar una gran cantidad de conexiones. Se requieren otras configuraciones para obtener la configuración del módulo de retorno en todos los Salt Minions.

Configuración del lado de los minions:

  1. yum install -y MySQL-python: El host que devuelve el trabajo a la base de datos debe estar instalado
  2. vim /etc/salt/minion
mysql.host: '192.168.17.1'#数据库主机IP
mysql.user: 'salt'
mysql.pass: 'westos'
mysql.db: 'salt'
mysql.port: 3306
  1. systemctl restart salt-minion: Reiniciar

Configuración del lado de la base de datos:

  1. yum install -y mariadb-server: Instalar la base de datos
  2. systemctl start mariadb: En
  3. vim salt.sql: Compila archivos para crear bases de datos y tablas
CREATE DATABASE  `salt`
  DEFAULT CHARACTER SET utf8
  DEFAULT COLLATE utf8_general_ci;
USE `salt`;
-- Table structure for table `jids`
DROP TABLE IF EXISTS `jids`;
CREATE TABLE `jids` (
  `jid` varchar(255) NOT NULL,
  `load` mediumtext NOT NULL,
  UNIQUE KEY `jid` (`jid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- Table structure for table `salt_returns`
DROP TABLE IF EXISTS `salt_returns`;
CREATE TABLE `salt_returns` (
  `fun` varchar(50) NOT NULL,
  `jid` varchar(255) NOT NULL,
  `return` mediumtext NOT NULL,
  `id` varchar(255) NOT NULL,
  `success` varchar(10) NOT NULL,
  `full_ret` mediumtext NOT NULL,
  `alter_time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  KEY `id` (`id`),
  KEY `jid` (`jid`),
  KEY `fun` (`fun`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- Table structure for table `salt_events`
DROP TABLE IF EXISTS `salt_events`;
CREATE TABLE `salt_events` (
`id` BIGINT NOT NULL AUTO_INCREMENT,
`tag` varchar(255) NOT NULL,
`data` mediumtext NOT NULL,
`alter_time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
`master_id` varchar(255) NOT NULL,
PRIMARY KEY (`id`),
KEY `tag` (`tag`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

  1. mysql < salt.sql: Importar la base de datos de sal
  2. mysql -e "grant all on salt.* to salt@'%' identified by 'westos';": Autorización

prueba:

  1. salt server3 test.ping --return mysql: Ejecuta salt en el lado maestro
  2. mysql -e "select * from salt.salt_returns;": Ver los resultados devueltos en el lado de la base de datos

Inserte la descripción de la imagen aquí



1.2 Regreso del maestro a la base de datos


Inserte la descripción de la imagen aquí

  • Ventaja: se requiere una sola conexión a un sistema externo. Esto se prefiere para bases de datos y sistemas similares.
  • Desventajas: Aporta una carga adicional a tu Salt Master.

lado maestro:

  1. yum install -y MySQL-python: El host que devuelve el trabajo a la base de datos debe estar instalado
  2. vim /etc/salt/master
master_job_cache: mysql
mysql.host: 'localhost'#数据库主机IP,这里使用本机
mysql.user: 'salt'
mysql.pass: 'westos'
mysql.db: 'salt'
mysql.port: 3306

  1. systemctl restart salt-master

Lado de la base de datos:

  1. yum install -y mariadb-server: Instalar la base de datos
  2. systemctl start mariadb: En
  3. vim salt.sql: Escriba el archivo para crear la base de datos y la tabla (igual que el archivo salt.sql en 1.1 de este artículo)
  4. mysql < salt.sql
  5. mysql -e "grant all on salt.* to salt@'localhost' identified by 'westos';"

prueba:

  1. salt '*' test.ping: Ejecución del lado maestro
  2. mysql -e "select * from salt.salt_returns;": Vea los resultados en el lado de la base de datos

Inserte la descripción de la imagen aquí



2. salt-ssh


  • Ejecute los comandos y el estado de salt a través de ssh sin instalar salt-minion
  • El sistema Salt SSH no reemplazará al sistema de comunicación Salt estándar, solo proporciona una alternativa basada en SSH, sin ZeroMQ ni agentes remotos.
  • Dado que toda la comunicación con Salt SSH se realiza a través de SSH, es mucho más lento que el Salt estándar

Configuración:

  1. yum install -y salt-ssh
  2. vim /etc/salt/roster: Editar archivo de lista
server2:
  host: 192.168.17.2
  user: root
  passwd: westos

prueba:

  • Cierre el servicio salt-minion de server2:systemctl stop salt-minion.service

  • lsof -i :4505: Compruebe que solo el servidor3 esté conectado

Inserte la descripción de la imagen aquí

  • La prueba ssh es exitosa en el lado maestro, ¡pero la velocidad es muy lenta!
    • salt-ssh '*' test.ping
    • salt-ssh '*' cmd.run df

Inserte la descripción de la imagen aquí

3. sal-síndico


top-master 端 : servidor4 : 192.168.17.4

síndico + maestro: : servidor1: 192.168.17.1


  • síndic debe ejecutarse en el maestro

Inserte la descripción de la imagen aquí

3.1 Configuración del agente síndico


  • El servidor1 ha descargado el maestro antes, no es necesario configurar el maestro

  • Instalar salt-syndic

yum install -y salt-syndic

  • Edite el archivo para que apunte al lado superior del maestro

vim /etc/salt/master

syndic_master: 192.168.17.4#top master端IP
  • systemctl restart salt-master: Reinicia el servicio maestro
  • systemctl enable --now salt-syndic: Activa el servicio proxy

3.2 configuración de maestro superior


  • Configurar el almacén de software
[salt-3000]
name=SaltStack 3000 Release Channel for Python 2 RHEL/Centos $releasever
baseurl=https://mirrors.aliyun.com/saltstack/yum/redhat/7/$basearch/3000
failovermethod=priority
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/saltstack-signing-key, file:///etc/pki/rpm-gpg/centos7-signing-key

  • Instalar salt-master

yum install -y salt-master

  • Edite el archivo maestro y cámbielo a maestro superior

vim /etc/salt/master

order_masters: True

  • Servicio maestro abierto

systemctl enable --now salt-master

  • Clave de paso

salt-key -L: Muestra las claves en espera de autenticación

salt-key -A: Pasar todas las claves

  • prueba

salt '*' test.ping

Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/weixin_46069582/article/details/112973545
Recomendado
Clasificación