Salt-ssh 自动安装salt-minion
作用:为了不手动去安装一台一台去salt-minion,并进重复的配置
一、环境
系统环境:
#cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
#python -V
Python 2.7.5
各节点环境说明:
二、hosts文件解析
#vim /etc/hosts
192.168.1.101 salt.node1.com
192.168.1.200 salt.node2.com
192.168.1.201 salt.node3.com
三、安装salt-ssh
a.添加yum源:
*参考salt-stack官网:https://docs.saltstack.com/en/latest/topics/installation/rhel.html
# vim /etc/yum.repos.d/salt-stack.repo
[saltstack-repo]
name=SaltStack repo for Red Hat Enterprise Linux $releasever
baseurl=https://repo.saltstack.com/yum/redhat/$releasever/$basearch/latest
enabled=1
gpgcheck=1
gpgkey=https://repo.saltstack.com/yum/redhat/$releasever/$basearch/latest/SALTSTACK-GPG-KEY.pub
https://repo.saltstack.com/yum/redhat/$releasever/$basearch/latest/base/RPM-GPG-KEY-CentOS-7
b.安装salt-ssh
#yum install salt-ssh -y
c.配置roster文件
*可以在user下面配置passwd,如不配置的话,就要使用salt-ssh '*' test.ping -i命令时配置输入密码进行认证
# vim /etc/salt/roster
node1:
host: 192.168.1.200
user: root
port: 22
node2:
host: 192.168.1.201
user: root
port: 22
#salt-ssh '*' test.ping -i #进行密码认证
四、配置state.sls文件及给复制相关文件到部署目录
a.创建文件目录
# mkdir -p /srv/salt/minions
# mkdir -p /srv/salt/minions/conf
# mkdir -p /srv/salt/minions/yum.repos.d
# vim install.sls
#salt_minion_install
minion_yum: #把本地minions/yum.repos.d下和文件复制到要安装minion的/etc/yum.repos.d下
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: #安装salt-minion
pkg.installed:
- pkgs:
- salt-minion
- require:
- file: minion_yum
- unless: rpm -qa | grep salt-minion
minion_conf: #复制准备好的minion配置文件复制到要安装minion下的/etc/salt/minion下
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] }}
- require:
- pkg: minion_install
minion_service: #开机自动启动
service.running:
- name: salt-minion
- enable: True
- require:
- file: minion_conf
c.编写minion配置文件
#vim minion
# resolved, then the minion will fail to start.
master: 192.168.1.101 #只用修改master地址
d.把salt源和epel源复制到指定目录下
#cp /etc/yum.repos.d/salt-stack.repo /srv/salt/minions/yum.repos.d/
# cp /etc/yum.repos.d/epel.repo /srv/salt/minions/yum.repos.d/
e.最后查看一下目录详情:
# pwd
/srv/salt/minions
# tree
├── conf
│ └── minion
├── install.sls
└── yum.repos.d
├── epel.repo
└── salt-stack.repo
五、执行salt-ssh安装salt-minion
#salt-ssh -i '*' state.sls minions.install
六、验证安装结果
*注:在最后我在salt-ssh这台主机上安装了salt-mater(yum install -y salt-master ),不然下面的命令执行无效
# salt-key
Accepted Keys:
Denied Keys:
Unaccepted Keys:
centos7
node1
node2
Rejected Keys:
Salt-ssh 自动安装salt-minion的更多相关文章
- Salt初识和安装
Salt Salt是一个配置管理系统,能够根据定义的状态,配置远程节点,比如保证远程节点上指定的安装包安装,运行指定的服务.Salt也是一个分布式远程执行系统,用于在远程节点上执行命令和请求数据,不论 ...
- 利用salt stack pillar安装多组keepalived
利用salt stack pillar安装多组keepalived 环境描述 在生产环境中,需要搭建三套keepalived环境,3个master和3个backup,要安装的软件和配置文件,虽然不是很 ...
- saltstack 使用salt ‘*’ test.ping 报错Minion did not return(转)
原文地址:http://blog.51cto.com/4634721/2093019 saltstack 使用salt ‘*’ test.ping 报错Minion did not return. [ ...
- The Salt Master has rejected this minion's public key!
salt查看日志: salt --log-level=all "10.199.165.244" state.highstate 进入调试模式: salt-minion -l deb ...
- cobbler自动安装系统
一.简介 Cobbler是一个快速网络安装linux的服务,而且在经过调整也可以支持网络安装windows.该工具使用python开发,小巧轻便(才15k行python代码),使用简单的命令即可完成P ...
- cobbler无人值守自动安装
无人值守安装(自动按定制的需求来批量安装linux系统) kickstart cobbler linux安装系统的方法: 1,光盘 把iso镜像刻录(windows下有类似nero这类软件)到光盘 ...
- PXE与cobbler实现系统自动安装
安装操作系统的流程事实上并不复杂,如果你要给三五台服务器安装系统那么我们手工去安装即可.但是当我们要部署的是大型机房的操作系统的时候显然手动安装去一台一台的点,是不现实的.尤其现在互联网行业高速发展, ...
- Cobbler 自动安装CentOS7
1. Cobbler介绍 Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装.重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等.Cobbler可以使用命 ...
- salt进程查看插件&salt批量创建用户
接受key 剔除主机 启动 salt-minion-d 软件包的安装 salt '*' state.sls init.env-init test=true salt批量创建用户: ...
- kickstart一键自动安装Linux系统
kickstart,无人值守,自动安装系统.本文介绍kickstart的用法. #安装系统的信息——可以参考 [root@larrywen pdf]# vim ~/anaconda-ks.cfg 第一 ...
随机推荐
- idea创建Javaweb项目
1.Javaweb项目结构 1.1修改生成.class文件的位置为WEB-INF下的classes: 生成的.class文件位置: 1.2 设置第三方jar包添加位置:
- kafka存储机制以及offset
1.前言 一个商业化消息队列的性能好坏,其文件存储机制设计是衡量一个消息队列服务技术水平和最关键指标之一.下面将从Kafka文件存储机制和物理结构角度,分析Kafka是如何实现高效文件存储,及实际应用 ...
- Android OS Startup
OS puts emphases on how to provide interfaces to user's APPs for using hardware device in the conven ...
- Android基础Activity篇——Intent向下一个活动传递数据
1.向下一个活动传递数据 String data ="bilibilbilbilbili"; Intent intent1=new Intent(this,secondActivi ...
- Unity3d开发集成Google Admob广告增加收入
在Unity游戏中植入广告是Unity 游戏产品增加收入的一种重要方式,常用的广告有谷歌Admob,百度ssp,腾讯广点通,unity公司的unityads等等,而使用的最多的应该属于谷歌Admob, ...
- 笨办法学Python(二十六)
习题 26: 恭喜你,现在可以考试了! 你已经差不多完成这本书的前半部分了,不过后半部分才是更有趣的.你将学到逻辑,并通过条件判断实现有用的功能. 在你继续学习之前,你有一道试题要做.这道试题很难,因 ...
- Js arguments.callee();函数自己调用自己
1.阶乘的时候,函数一般要用到递归算法,所以函数内部一定会调用自身 //递归,阶乘 function sum(num){ ) { ; } else{ ); //自己调用自己,递归 } } alert( ...
- MVC:控制器名与被调用模型名称发生冲突的解决方案
控制器名与被调用的模型名发生了冲突: 有两种解决方案: (1)将被调用的模型类名进行修改 例如: (2)对被调用的模型进行起一个别名 以上 加油ヾ(◍°∇°◍)ノ゙
- graphql 项目搭建(二)
一.Express基本框架 1.新建一个文件夹gql-server vscode 打开项目,在终端下输入yarn init -y 生成package.json 包(如果没安装yarn ,npm也一样, ...
- "提取位于北坡的各类用地面积信息"的程序设计与实现
"提取位于北坡的各类用地面积信息"的程序设计与实现 程序员:左正康 发表时间:2013/12/20 14:24 代号:黑眼圈的日子 第一步:导入dem ...