SaltStack 安装介绍 01

时间:2022-05-20 19:27:38

一、入门指南 

1.1 SALTSTACK是什么? 

The backbone of Salt is the remote execution engine, which creates a high-speed, secure and bi-directional communication net for groups of systems. On top of this communication system, Salt provides an extremely fast, flexible, and easy-to-use configuration management system called Salt States. Salt是一种和以往不同的基础设施管理方法,它是建立在大规模系统高速通讯能力可以大幅提升的想法上。这种方法使得Salt成为一个强大的能够解决基础设施中许多特定问题的多任务系统。远程执行引擎是Salt的核心,它能够为多组系统创建高速、安全的双向通讯网络。基于这个通许系统,Salt提供了一个非常快速、灵活并且容易使用的配置管理系统,称之为“Salt States”。

  


1.2 SALTSTACK有什么特性?

(1)、部署简单,方便

(2)、支持大部分UNIX/Linux及Windows环境;

(3)、主从集中化管理;

(4)、配置简单、功能强大、扩展性强;

(5)、主控端(master)和被控端(minion)基于证书认证,安全可靠;

(6)、支持API及自定义模块,可通过Python轻松扩展。

  

2.2 SALTSTACK (yum)安装

指定官方yum源:  

rpm -ivh https://repo.saltstack.com/yum/redhat/salt-repo-latest-1.el7.noarch.rpm      
Salt Master: yum -y install salt-master salt-minion
Salt Minion: yum -y install salt-minion
修改Minion配置文件 # vim /etc/salt/minion
master: 192.168.56.10 可以是主机名需要解析(指定服务端的IP地址)
id: 唯一标识符,可以不配,不配默认就是主机名
启动服务: Master:
systemctl start salt-minion
systemctl start salt-master
Minoin:
systemctl start salt-minion yum安装源两端必须使用一样的,安装之前报旧的删除,hosts文件里面要配置所有主机名 查看master端口状态:

SaltStack 安装介绍 01

启动服务之后会在/etc/salt下面产生一个minion_id的配置文件(里面就是我们配置文件中指定的ID,可以不修改。不修改默认就是主机名)同时还会产生一个pki的文件,里面存放minion的公钥和私钥

配置说明:

SaltStack 安装介绍 01

salt启动之后会先读取minion_id里面的配置

[root@Minion1 ~]# cat /etc/salt/minion_id
Master
[root@Minion1 ~]# cat /etc/salt/minion_id
Minion1
[root@Minion2 ~]# cat /etc/salt/minion_id
Minion2
minion在启动的时候建立的 [root@Master salt]# tree -L 2 /etc/salt/pki/
/etc/salt/pki/
├── master
│ ├── master.pem
│ ├── master.pub
│ ├── minions
│ ├── minions_autosign
│ ├── minions_denied
│ ├── minions_pre
│ └── minions_rejected
└── minion
├── minion.pem #私钥
└── minion.pub #公钥 配置完master启动minion的时候就会将公钥发送过去 Master详解: [root@Master salt]# tree -L 3 /etc/salt/pki/
/etc/salt/pki/
├── master
│ ├── master.pem #私钥
│ ├── master.pub #公钥
│ ├── minions
│ ├── minions_autosign
│ ├── minions_denied
│ ├── minions_pre #收到minion的公钥,等待master同意
│ │ ├── Master #使用id作为公钥名称
│ │ ├── Minion1
│ │ └── Minion2
│ └── minions_rejected
└── minion
├── minion.pem #私钥
└── minion.pub #公钥

  

认证:

SaltStack 安装介绍 01

帮助:

[root@Master ~]# salt-key --help

  

同意的三种方法:

[root@Master salt] salt-key -A
[root@Master salt] salt-key -a 指定id
[root@Master salt] salt-key -a 支持通配符

  

我们选择第一种演示

SaltStack 安装介绍 01


  

salt-key命令介绍:

-L  列出所有
-d 删除指定的支持通配符
-D 删除所有
-A 添加所有
-a 指定添加

  SaltStack 安装介绍 01

同意之后master发送公钥

命令测试:

salt '*' test.ping

SaltStack 安装介绍 01

命令解析:

*      代表所有

‘ ’      引号,防止扩展

test.ping 模块的方法

* 可以写Master或者Minion 也支持正则

SaltStack 安装介绍 01

三、命令测试:

1.查看登录状态

salt "*" cmd.run 'w'

SaltStack 安装介绍 01

2.创建目录及查看创建:

salt "*" cmd.run "mkdir /test"
salt "*" cmd.run "ls -l /test"

SaltStack 安装介绍 01


查看命令是否运行:

ps -aux|grep salt