Salt简介:
Salt(saltstack)是一个基础设施的自动化和配置管理工具,根据官方文档,salt是一个配置管理系统,能够维护远程节点到指定的状态(例如确保指定的包是安装的,并且指定的服务是正在运行的),并且能够分布式的在远程节点上执行命令和查询数据。
安装
本文是ubuntu 15.10作为测试,并且master和minion为同一台机器
sudo apt-get install python-software-properties sudo add-apt-repository ppa:saltstack/salt sudo apt-get update sudo apt-get install salt-master sudo apt-get install salt-minion service salt-master start service salt-minion start
配置master为localhost 或127.0.0.1并且重启minion(也可以配置Id)
service salt-minion restart
查看salt-key
salt-key -L
接受salt-key
salt-key -a ‘hostname‘
使用
以下是些使用案例
对于nginx(安装nginx并且启动服务)
salt ‘*‘ pkg.install nginx salt ‘*‘ service.start nginx
对于vim(安装)
salt ‘*‘ pkg.install vim
列出网卡信息
salt ‘*‘ network.intgerfaces
执行shell命令
salt ‘*‘ cmd.run ‘ls -l /etc‘
Grains
Salt自带的一个接口,能够获取底层的一些信息
查看所有minion的grains
salt ‘*‘ grains.ls
列出grains的数据
salt ‘*‘ grains.data
匹配所有操作系统是centos的minion,并且ping
salt -G ‘os:CentOS‘ test.ping
匹配64位cpu架构的minion,并且返回cpu的核心数
salt -G ‘cpuarch:x86_64‘ grains.item num_cpus
添加新的grain数据
打开minion配置文件
/etc/salt/minion
搜索grains
grains: roles: - webserver - memcache deployment: mydatacenter
你可以修改为你自定义的grain数据
roles: - webserver - memcache deployment: mydatacente
重新启动minion,就可以master端查询到新的grains 数据
排错
查看master和minion的debug信息
salt-master -l debug salt-minion -l debug
在master使用nc 命令查看minion连接的端口信息
nc -v -z salt.master.ip 4505 nc -v -z salt.master.ip 4506
salt-call的debug信息
salt-call -l debug state.highstate
前台运行
salt-minion &
Salt验证
列出master上的所有key
salt-key -L
接受所有的key
slat-key -A
设置salt file的root目录
编辑master配置文件
/etc/salt/master
添加
base: - /srv/salt/ dev: - /srv/salt/dev/services - /srv/salt/dev/states prod: - /srv/salt/prod/services - /srv/salt/prod/states
/srv/salt/dev/states /srv/salt/dev/pillars
Salt States
在master上 配置以下内容
/srv/salt/top.sls
#Code to add base: ‘*‘: - webserve
时间: 2024-10-11 22:37:29