使用Salt-ssh部署Salt-minion之yum安装(一)
2024-09-28 03:12:56
一、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数目是否相等
最新文章
- lucky 的 时光助理(2)
- 【python坑记录】
- 11、ASP.NET MVC入门到精通——AspnetMVC分页
- 【Android端 APP 内存分析】使用工具进行APP的内存分析
- oracle全文检索
- Swig 使用指南
- MongoDB数据备份与恢复
- C++ STL 简单记录
- input value的值不可改变
- CSU1326+背包+并查集
- python之6-1常用函数
- PHP结合Linux的cron命令实现定时任务
- Unity3D游戏开发之连续滚动背景
- 解决easyui datagrid load时缓存问题
- 阿里云CentOS安装firefox闪退
- QT修改UI和源码后,程序页面还是原来页面的解决方法
- Phoenix与Hive学习资料
- stringify 字符串转化成json方法
- Django中的视图(view)
- springboot 整合redis redis工具类
热门文章
- HTC VIVE SDK 中的例子 hellovr_opengl 程序流程分析
- 使用webpack构建本地服务器
- Docker与PAAS
- diamond淘宝框架使用
- oracle调优 浅析有效的游标管理
- html的小例子
- DriverStore文件夹特别大,能删除吗?
- HDU 4632 Palindrome subsequence(区间dp)
- 解决安装Ubuntu之后找不到无线网卡驱动的问题
- mysql select *... where id in (select 字符串 from ... )查询结果问题?