项目概况、3种实现模式及saltstack的安装与使用
背景
开发运维自动化的平台
- 配置管理 *** —— 交给人用excel做不靠谱,需要做一个系统去定时管理
-
发布系统
-
监控
-
自动装机
-
堡垒机
实现的思路有3种模式:
agent —— 每台主机装上脚本(适用的场景:机器多)
-
-
每天定时启动,自动采集资产
-
通过subprocess模块在本地执行命令,获取到硬件的信息
-
对数据进行处理,通过requests模块发送到api
-
ssh —— 脚本放在中控机(适用的场景:机器少 不需要安装软件)
-
-
每天定时启动,自动采集资产
-
通过ssh远程(paramiko)连接上主机,在被控机上执行命令,获取到硬件的信息
-
对数据进行处理,通过requests模块发送到api
-
api接受数据保存到api
salt—— 脚本放在中控机(适用的场景:安装saltstack 中控机装salt-master 被采集的主机安装salt-minion)
-
-
每天定时启动,自动采集资产
-
通过saltstack远程连接上主机,在被控机上执行命令,获取到硬件的信息
-
对数据进行处理,通过requests模块发送到api
-
api接受数据保存到api
linux中saltstack的安装与使用
控制端ip为10.0.0.131;被控制端的ip为10.0.0.130
(1)控制端与被控制端都要先装好saltstack
在控制端与被控制端都要执行:
sudo yum install https://repo.saltstack.com/py3/redhat/salt-py3-repo-latest.el7.noarch.rpm
(2)控制端安装master与配置
1、先用yum安装
yum install salt-master -y
2、配置
vi /etc/salt/master interface: 0.0.0.0
(3)被控制端的安装minion与配置
1、yum安装
yum install salt-minion -y
2、配置——配置master的ip
vi /etc/salt/minion master: 10.0.0.131
(4)在控制端master进行授权
salt-key -L 查看所有授权
salt-key -A 接受所有的授权
(5)如果上一步没有结果关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
(6)在控制端master执行命令,查看minion是否返回结果
salt '10.0.0.120' cmd.run 'ls' salt '*' cmd.run 'ls'
minion端使用主机名的配置方法
1、被控制端设置主机名
vi /etc/hostname # 设置主机名 minion # 保存退出
2、master 删除key 停止
salt-key -d (需要设置主机名的minion机器的ip地址)
systemctl stop salt-master
3、minion 删除 minion_id 重启
rm -rf /etc/salt/minion_id
systemctl restart salt-minion
4、master 启动 接受key
systemctl start salt-master salt-key -a key salt-key -A
浙公网安备 33010602011771号