saltstack布署实践 【安装】

借用链接http://www.cnblogs.com/liuyansheng/p/6094122.html的安装方式,我再同步一下其它操作系统的安装方式,由原Docker官网拷贝

Ubuntu1404
 
- 添加 SaltStack repository key:
wget -O - https://repo.saltstack.com/apt/ubuntu/14.04/amd64/latest/SALTSTACK-GPG-KEY.pub | apt-key add -
 
- 保存和新增一个apt源:
 
touch /etc/apt/sources.list.d/saltstack.list
vi /etc/apt/sources.list.d/saltstack.list
 deb http://repo.saltstack.com/apt/ubuntu/14.04/amd64/latest trusty main
 
-执行更新
sudo apt-get update
 
- 安装 salt-minion, salt-master 或者其它组件:
 
  sudo apt-get install salt-master
 
   sudo apt-get install salt-minion
 
   sudo apt-get install salt-ssh
 
   sudo apt-get install salt-syndic
 
   sudo apt-get install salt-cloud
 
   sudo apt-get install salt-api
 
- 如升级了,则重启:
 
 service salt-minion restart
 
添加解析
vi /etc/hosts
添加
127.0.0.1       salt
 
 
 
 
CentOS7
- 添加Repo的Yum源:
sudo yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-1.el7.noarch.rpm
 
- 更新缓存
sudo yum clean expire-cache
 
- 安装salt-minion, salt-master或者其它组件:
 
     sudo yum install salt-master
 
     sudo yum install salt-minion
 
     sudo yum install salt-ssh
 
     sudo yum install salt-syndic
 
     sudo yum install salt-cloud
 
     sudo yum install salt-api
 
- 如升级,需要重启:
 
 sudo systemctl restart salt-minion
 
 
 
CentOS6
- 添加Repo的Yum源:
sudo yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-1.el6.noarch.rpm
 
- 更新缓存
sudo yum clean expire-cache
 
- 安装salt-minion, salt-master或者其它组件:
 
     sudo yum install salt-master
 
     sudo yum install salt-minion
 
     sudo yum install salt-ssh
 
     sudo yum install salt-syndic
 
     sudo yum install salt-cloud
 
     sudo yum install salt-api
 
- 如升级,需要重启:
 
 sudo service salt-minion restart
 
/etc/hosts
添加
127.0.0.1       salt
 
 
比较常见操作
批量修改密码
 
CentOS等Rehat版本
#salt '*' cmd.run 'echo "venic6666" | passwd --stdin root'
 
Ubuntu版本
#salt '*' cmd.run  'echo "root:venic6666" |chpasswd'
 
但我们不能这样直接执行,salt '*' 是代表所有以接受Key的环境机器,应应用前先规划和分出哪些是Ubuntu哪些是CentOS,哪些是开发环境,哪些是测试环境
所以一开始所有的客户端salt-minion 我会在安装启动时,在他们的配置文件中。先定义一个主机名,例如:
 
在被管端配置master的ip地址我会初始三个地方的配置
比如Ubuntu的VM
 
vi /etc/salt/minion
 
master: 主管端的IP或域名
客户端的ID
id: 10.40.200.114
客户端的填充域名
append_domain: ubuntu1404.stg
 
最终上报到master的Key为:10.40.200.114.ubuntu1404.stg
 
 
比如centos的VM
 
vi /etc/salt/minion
 
master: 主管端的IP或域名
客户端的ID
id: 10.40.200.112
客户端的填充域名
append_domain: centos7.stg
 
最终上报到master的Key为:10.40.200.112.centos7.stg
如此一来,在批量修改密码,好操作些,因为它支持正则表达式匹配
 
CentOS等Rehat版本
salt -E '.*centos*'  cmd.run 'echo "venic6666" | passwd --stdin root'
Ubuntu版本
# salt -E '.*ubuntu*' cmd.run  'echo "root:venic6666" |chpasswd'
 
当然如果没有提前规划好上报名字名称,也可通过以下方法-G方法进行操作,同理
 
salt -G "os:ubuntu"  cmd.run  'echo "root:venic6666" |chpasswd'
salt -G "os:centos"   cmd.run 'echo "venic6666" | passwd --stdin root'
 
 
批量更新软件
salt -E '.*ubuntu*' cmd.run  'apt-get install -y zip unzip'
salt -E '.*centos*'   cmd.run  'yum install -y unzip zip'
 
批量创建普通用户
salt -E '10.40.200.2[0-9]*|10.40.200.30.*|10.40.200.4[0-9]*' cmd.run 'groupadd venic'
salt -E '10.40.200.2[0-9]*|10.40.200.30.*|10.40.200.4[0-9]*' cmd.run 'adduser -g venic test'
 
批量替换配置文件(在没有足够的自信下,而且没有先使用单机验证过的话,不推荐这方法,因为配置文件中如果出现引号字符,会导致提前中断不成功,推荐使用配置文件管理的模块)
 

salt -E '.*centos*' cmd.run 'cat > /etc/hosts << EOF
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.40.150.150 zabbix-server.venic.com

EOF

 
批量追加配置文件(在没有足够的自信下,而且没有先使用单机验证过的话,不推荐这方法,因为配置文件中如果出现引号字符,会导致提前中断不成功,而且如果有些已推加了,再容易再重复追加。推荐使用配置文件管理的模块)
 
salt -E '.*centos*'  cmd.run 'cat >> /etc/security/limits.conf << EOF
* soft   nofile   65536
* hard nofile 65536
EOF
 
 
 
posted @ 2017-01-16 18:48  veniceslove  阅读(1422)  评论(0编辑  收藏  举报