您的位置:首页 > 其它

使用Salt-ssh部署Salt-minion之yum安装(一)

2015-11-05 18:42 477 查看
一、RPM安装篇

使用salt-ssh功能要求客户端系统python版本2.6+

1.salt-minion端环境:

  系统:CentOS 6.5 64bit

  python版本:2.6.6    

2.配置/etc/salt/roster

例:

10.10.10.30:
host: 10.10.10.30
user: syspub    #普通用户,有无密码sudo权限
passwd: 123456aa
sudo: True
timeout: 15


当客户端数量较多时,手工配置/etc/salt/roster比较繁琐,这里写一个简单脚本供参考

vim ip.sh
#!/bin/bash
for i in `cat /root/gg`
do
echo "$i:" >> /etc/salt/roster
echo "  host: $i" >> /etc/salt/roster
echo "  user: syspub" >> /etc/salt/roster
echo "  passwd: 123456aa" >> /etc/salt/roster
echo "  sudo: True" >> /etc/salt/roster
echo "  timeout: 15" >> /etc/salt/roster
done


其中/root/gg为客户端IP表,例:

10.10.10.30
10.10.10.31
10.10.10.32


3.编写state.sls文件

路径:/srv/salt/minions/

目录树结构如下:

|conf
|---minion
|install.sls
|yum.repos.d          #yum源可自制本地源
|---CentOS-Base.repo      
|---epel.repo


a.编写/srv/salt/minions/install.sls

#salt_minion_install
minion_yum:
file.recurse:
- name: /etc/yum.repos.d
- source: salt://minions/yum.repos.d
- 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
- user: root
- group: root
- mode: 640
- template: jinja
- defaults:
minion_id: {{ grains['fqdn_ip4'][0] }}        #要求客户端/etc/hosts中绑定其IP及主机名,不绑定主机名在127.0.0.1
- require:
- pkg: minion_install
minion_service:
service.running:
- name: salt-minion
- enable: True
- require:
- file: minion_conf


b.minion文件为salt-minion版本自带默认minion文件

4.部署salt-minion

salt-ssh端执行如下命令:

salt-ssh -i '*' state.sls minions.install


验证:

salt-ssh -ir '*' 'ps aux | grep salt' | grep salt | grep -v grep | wc -l


对比与/root/gg中IP数目是否相等
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: