设为首页 收藏本站
查看: 4336|回复: 0

[经验分享] Salt-ssh批量自动安装被控端minion

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-5-26 09:35:14 | 显示全部楼层 |阅读模式
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-ssh

mysql01      10.62.83.201  mysql   minion

2.软件版本

软件    版本号

OS      CentOS release 6.7 (Final)

Python  python2.6.6

salt    2015.8.10(Beryllium)

二,安装配置salt-ssh1.yum源配置

  我们在这里还是采用上篇文章的yum文件

2.安装salt-ssh

  Saltstack01节点继续安装salt-ssh

1
#yum -y installsalt-ssh



3.配置roster

  所有需要安装被控端的主机信息,都在这里配置。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 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比较繁琐,这里写一个简单脚本供参考:

1
2
3
4
5
6
7
8
9
10
11
# 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文件,例如:

1
2
3
10.10.10.30
10.10.10.31
10.10.10.32



三,配置state.sls文件结构  *.sls文件对被控主机进行状态管理
1.创建目录
1
2
3
# mkdir /srv/salt/minions
# mkdir /srv/salt/minions/conf
# mkdir /srv/salt/minions/yum.repos.d



2.编写.sls文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# 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主文件
1
2
master: 10.62.83.211
id: mysql01 #这里需要在/etc/hosts中配置对应的域名解析



注意:
  最终的目录结构如下图:
四,部署salt-minionSalt-ssh端执行如下命令:
1
# salt-ssh-i '*' state.sls minions.install ##’*’表示所有,也可有替换为仅仅需要安装minion的主机名或IP地址



五,结果验证
1
#salt-ssh -ir '*' 'ps aux | grep salt' | grep salt | grep -v grep| wc -l ##查看安装minion端的salt-minion进程是否运行,一个客户端运行一个salt-minion服务。



QQ截图20160526093458.jpg




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-221990-1-1.html 上篇帖子: salt-stack安装redis 下篇帖子: 使用Salt-ssh部署Salt-minion之yum安装
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表