Salt-ssh批量自动安装被控端minion
2016-05-25 13:42
591 查看
Salt-ssh批量自动安装被控端minion
Salt-ssh是Saltstack的另外一种管理方式,无需安装minion端,可以运用salt的一切功能,管理和使用方法基本和salt一样。但是,salt-ssh并没有继承原来的ZeroMQ通讯架构。所以,她的执行速度比较慢。作为salt的补充在初次批量安装minion或某些不能安装minion的特殊场景下还是非常好用的。 上篇文章《集中化管理平台Saltstack》,我们介绍了saltstack的安装配置。这里我们来介绍下怎么批量安装被控端。saltstack-master已经配置好了,我们在这里还是采用原来的节点。下面,自动安装mysql节点为被控端。一,环境配置说明
1.IP地址分配
Hostname IP地址 节点 服务saltstack01 10.62.83.211 master salt-sshmysql01 10.62.83.201 mysql minion2.软件版本
软件 版本号OS CentOS release 6.7 (Final)Python python2.6.6salt 2015.8.10(Beryllium)二,安装配置salt-ssh
1.yum源配置
我们在这里还是采用上篇文章的yum文件2.安装salt-ssh
Saltstack01节点继续安装salt-ssh#yum -y installsalt-ssh
3.配置roster
所有需要安装被控端的主机信息,都在这里配置。# vim /etc/salt/roster # Sample salt-ssh config file #web1: # host: 192.168.42.1 # The IP addr or DNS hostname # user: fred # Remoteexecutions will be executed as user fred # passwd: foobarbaz # The passwordto use for login, if omitted, keys are used # sudo: True # Whether tosudo to root, not enabled by default #web2: # host: 192.168.42.2 10.62.83.201: ##批量部署多客户端,在此配置文件中添加类似客户端的选项即可 host:10.62.83.201 user:root passwd:Emsee123! port:22 timeout: 10当客户端数量较多时,手工配置/etc/salt/roster比较繁琐,这里写一个简单脚本供参考:
# vim ip.sh #!/bin/bash for i in `cat /root/hostip` do echo"$i:">> /etc/salt/roster ##$i表示取文件的每行内容 echo" host: $i" >> /etc/salt/roster echo" user: USERNAME" >>/etc/salt/roster echo" passwd: PASSWORD" >>/etc/salt/roster echo" sudo: True" >>/etc/salt/roster echo" timeout: 10" >>/etc/salt/roster done其中/root/hostip为客户端IP文件,例如:
10.10.10.30 10.10.10.31 10.10.10.32
三,配置state.sls文件结构
*.sls文件对被控主机进行状态管理1.创建目录
# mkdir /srv/salt/minions # mkdir /srv/salt/minions/conf # mkdir /srv/salt/minions/yum.repos.d
2.编写.sls文件
# vim install.sls #salt_minion_install minion_yum: file.recurse: - name: /etc/yum.repos.d - source: salt://minions/yum.repos.d ##提前准备的yum文件路径 - user: root - group: root - file_mode: 644 - dir_mode: 755 - include_empty: True minion_install: pkg.installed: - pkgs: - salt-minion - require: - file: minion_yum - unless: rpm -qa | grep salt-minion minion_conf: file.managed: - name: /etc/salt/minion - source: salt://minions/conf/minion ##minion端需要配置的minion主配置文件 -user: root - group: root - mode: 640 - template: jinja - defaults: minion_id: {{ grains['fqdn_ip4'][0]}} ##这里grains是收集minion端/etc/hosts文件IP和主机名的 - require: - pkg: minion_install minion_service: service.running: - name: salt-minion - enable: True - require: - file: minion_conf
3.编写minion主文件
master: 10.62.83.211 id: mysql01 #这里需要在/etc/hosts中配置对应的域名解析注意:
最终的目录结构如下图:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/03/48de91f3bd91ea3767af1080498e2c07.png)
四,部署salt-minion
Salt-ssh端执行如下命令:# salt-ssh-i '*' state.sls minions.install ##’*’表示所有,也可有替换为仅仅需要安装minion的主机名或IP地址
五,结果验证
#salt-ssh -ir '*' 'ps aux | grep salt' | grep salt | grep -v grep| wc -l ##查看安装minion端的salt-minion进程是否运行,一个客户端运行一个salt-minion服务。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/03/8862aa04ecd1f1caba0b0effb1f5d902.png)
参考博文:http://www.cnblogs.com/jim-hwg/p/4940480.html
相关文章推荐
- 超过 77% 的桌面计算机运行基于 Chromium 的浏览器
- Linux Generating SSH Keys
- 深入密码加salt原理的分析
- perl脚本实现限制ssh最大登录次数(支持白名单)
- rsync ssh 数据同步分析
- 搭建SSH时的思考和遇到的几个问题的解决方法
- SSH 使用原理 与解释
- SSH整合中 hibernate托管给Spring得到SessionFactory
- Linux VPS利用SSH重置ROOT密码的方法
- ssh,scp自动登陆的实现方法
- linux下使用ssh远程执行命令批量导出数据库到本地
- shell脚本实现ssh自动登录功能分享
- linux下ssh安装与scp命令使用详解
- ssh项目环境搭建步骤(web项目)
- 脚本实现SSH登录邮件报警
- Linux SSH 安全策略 限制 IP 登录方法
- 解决SSH连接超时的2个配置方法
- 用shell脚本防ssh和vsftpd暴力破解的详解讲解
- 内网ssh/mysql登录缓慢的解决方法