xxxmenger 发表于 2018-7-31 12:17:44

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]
查看完整版本: Saltstack 学习笔记(一)