Saltstack 学习笔记(一)
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
页:
[1]