使用Salt-ssh部署Salt-minion之yum安装(一)
一、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数目是否相等
使用Salt-ssh部署Salt-minion之yum安装(一)的更多相关文章
- LDAP-openldap服务部署和测试(YUM安装)
1. 概述2. 服务端部署过程2.1 软件包说明2.2 部署过程2.3 配置过程3. 测试4. 生成LDIF格式文件4.1 安装migrationtools工具4.2 用migrationtools生 ...
- yum安装k8s集群
k8s的安装有多种方式,如yum安装,kubeadm安装,二进制安装等.本文是入门系列,只是为了快速了解k8s的原理和工作过程,对k8s有一个快速的了解,这里直接采用yum安装 的1.5.2为案例进行 ...
- salt 批量部署与配置
salt是啥? salt是一个大型分布式的配置管理系统(安装升级卸载软件,检测环境),也是一个远程命令执行系统. salt 分为 master和minion,master顾名思义就是老大,管理子节点: ...
- salt自动化部署
1. 到编译机器编译 /export/Deploy/vm-agent 执行脚本 ./vm-agent.sh develop -alpha 2.检查rpm包是否打包成功 http://172.18.13 ...
- CMDB服务器管理系统【s5day88】:采集资产之Agent、SSH和Salt模式讲解
在对获取资产信息时,简述有四种方案. 1.Agent (基于shell命令实现) 原理图 Agent方式,可以将服务器上面的Agent程序作定时任务,定时将资产信息提交到指定API录入数据库 优点: ...
- salt 之 master and minion
系统:centos7.2 master:192.168.1.41minion:192.168.1.46 注释: setenforce 0 --关闭selinux systemctl stop fire ...
- salt源码安装软件和yum安装软件
上面简单列出了源码安装的sls文件书写思路. 涉及到一些固定的思路:如, 1,拷贝 解压安装时候需要依赖tar.gz存在 如果已安装则无需再次安装. 2,启动脚本 加入chk时候需要文件存在,如果已添 ...
- [svc]salt源码安装软件和yum安装软件
上面简单列出了源码安装的sls文件书写思路. 涉及到一些固定的思路:如, 1,拷贝 解压安装时候需要依赖tar.gz存在 如果已安装则无需再次安装. 2,启动脚本 加入chk时候需要文件存在,如果已添 ...
- Salt Master报错:Minion did not return. [No response]
在salt master端执行salt ‘*’ test.ping时,某一节点出现如下报错:Minion did not return. [No response] 登陆到这一节点查看minion的日 ...
- 自动化部署必备技能—搭建YUM仓库
导言: YUM主要用于自动安装.升级rpm软件包,它能自动查找并解决rpm包之间的依赖关系.要成功的使用YUM工具安装更新软件或系统,就需要有一个包含各种rpm软件包的repository(软件仓库) ...
随机推荐
- smokeping网络监控
一.smokeping介绍 我们在选择机房的时候,如何知道这个机房的网络情况,这个时候就要用到网络监控软件:smokeping 本文主要介绍如何使用smokeping来监控idc机房的网络质量情况,从 ...
- c3p0配置详解<转贴>
<c3p0-config> <default-config> <!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数.Default: 3 --> < ...
- druid.io 海量实时OLAP数据仓库 (翻译+总结) (1)
介绍 我是NDPmedia公司的大数据OLAP的资深高级工程师, 专注于OLAP领域, 现将一个成熟的可靠的高性能的海量实时OLAP数据仓库介绍给大家: druid.io NDPmedia在2014年 ...
- js动态创建和删除option
1.动态创建select function createSelect(){ var mySelect = document.createElement("select&q ...
- android 调用系统界面
现在开发中的功能需要直接跳转到拨号.联系人.短信界面等等,查找了很多资料,自己整理了一下. 首先,我们先看拨号界面,代码如下: Intent intent =new Intent(); intent. ...
- C# mvc统一通道使用过滤器
问题描述 使用C#过滤器有一个最大的问题就是在过滤器转向后程序仍然会执行方法体 问题解决思路 使用统一通道执行方法 不直接进入控制器 通过反射调用 using System; using System ...
- SpringCloud系列十三:Feign对继承、压缩、日志的支持以及构造多参数请求
1. 回顾 上文讲解了手动创建Feign,比默认的使用更加灵活. 本文将讲解Feign对继承.压缩的支持以及日志和多参数请求的构造等. 2. Feign对继承的支持 Feign支持继承.使用继承,可将 ...
- Atitit.编程语言and 自然语言的比较and 编程语言未来的发展
Atitit.编程语言and 自然语言的比较and 编程语言未来的发展 1. 单词的间隔靠空格,编程的单词的间隔靠分界符..1 2. 语句分界符:自然语言使用逗号,编程语言使用分号1 3. 换行1 4 ...
- MVC | 微软自带的Ajax请求
@Ajax.BegForm( ) 用来生成异步表单 Home控制器 using System; using System.Collections.Generic; using System.Linq ...
- gitlab 把或名改成IP
[root@GitLab assets]# cat /etc/gitlab/gitlab.rb # Change the external_url to the address your users ...