Salt-ssh批量自动安装被控端minion-创新互联

Salt-ssh批量自动安装被控端minion

Salt-ssh是Saltstack的另外一种管理方式,无需安装minion端,可以运用salt的一切功能,管理和使用方法基本和salt一样。但是,salt-ssh并没有继承原来的ZeroMQ通讯架构。所以,她的执行速度比较慢。作为salt的补充在初次批量安装minion或某些不能安装minion的特殊场景下还是非常好用的。

文登ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!

 上篇文章《集中化管理平台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-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中配置对应的域名解析

注意:

 最终的目录结构如下图:

Salt-ssh批量自动安装被控端minion

四,部署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服务。

Salt-ssh批量自动安装被控端minion

参考博文:http://www.cnblogs.com/jim-hwg/p/4940480.html

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享题目:Salt-ssh批量自动安装被控端minion-创新互联
文章出自:http://csdahua.cn/article/dohcps.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流