作用:为了不手动去安装一台一台去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
b.编写安装minions的sls文件--install.sls
# cd /srv/salt/minions/

# vim install.sls

  1. #salt_minion_install
  2. minion_yum: #把本地minions/yum.repos.d下和文件复制到要安装minion的/etc/yum.repos.d下
  3. file.recurse:
  4. - name: /etc/yum.repos.d
  5. - source: salt://minions/yum.repos.d
  6. - user: root
  7. - group: root
  8. - file_mode: 644
  9. - dir_mode: 755
  10. - include_empty: True
  11. minion_install: #安装salt-minion
  12. pkg.installed:
  13. - pkgs:
  14. - salt-minion
  15. - require:
  16. - file: minion_yum
  17. - unless: rpm -qa | grep salt-minion
  18. minion_conf: #复制准备好的minion配置文件复制到要安装minion下的/etc/salt/minion下
  19. file.managed:
  20. - name: /etc/salt/minion
  21. - source: salt://minions/conf/minion
  22. - user: root
  23. - group: root
  24. - mode: 640
  25. - template: jinja
  26. - defaults:
  27. minion_id: {{ grains['fqdn_ip4'][0] }}        
  28. - require:
  29. - pkg: minion_install
  30. minion_service: #开机自动启动
  31. service.running:
  32. - name: salt-minion
  33. - enable: True
  34. - require:
  35. - 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的更多相关文章

  1. Salt初识和安装

    Salt Salt是一个配置管理系统,能够根据定义的状态,配置远程节点,比如保证远程节点上指定的安装包安装,运行指定的服务.Salt也是一个分布式远程执行系统,用于在远程节点上执行命令和请求数据,不论 ...

  2. 利用salt stack pillar安装多组keepalived

    利用salt stack pillar安装多组keepalived 环境描述 在生产环境中,需要搭建三套keepalived环境,3个master和3个backup,要安装的软件和配置文件,虽然不是很 ...

  3. saltstack 使用salt ‘*’ test.ping 报错Minion did not return(转)

    原文地址:http://blog.51cto.com/4634721/2093019 saltstack 使用salt ‘*’ test.ping 报错Minion did not return. [ ...

  4. 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 ...

  5. cobbler自动安装系统

    一.简介 Cobbler是一个快速网络安装linux的服务,而且在经过调整也可以支持网络安装windows.该工具使用python开发,小巧轻便(才15k行python代码),使用简单的命令即可完成P ...

  6. cobbler无人值守自动安装

      无人值守安装(自动按定制的需求来批量安装linux系统) kickstart cobbler linux安装系统的方法: 1,光盘 把iso镜像刻录(windows下有类似nero这类软件)到光盘 ...

  7. PXE与cobbler实现系统自动安装

    安装操作系统的流程事实上并不复杂,如果你要给三五台服务器安装系统那么我们手工去安装即可.但是当我们要部署的是大型机房的操作系统的时候显然手动安装去一台一台的点,是不现实的.尤其现在互联网行业高速发展, ...

  8. Cobbler 自动安装CentOS7

    1. Cobbler介绍 Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装.重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等.Cobbler可以使用命 ...

  9. salt进程查看插件&salt批量创建用户

    接受key 剔除主机   启动 salt-minion-d     软件包的安装   salt '*' state.sls init.env-init test=true   salt批量创建用户: ...

  10. kickstart一键自动安装Linux系统

    kickstart,无人值守,自动安装系统.本文介绍kickstart的用法. #安装系统的信息——可以参考 [root@larrywen pdf]# vim ~/anaconda-ks.cfg 第一 ...

随机推荐

  1. ORACLE:毫秒与日期的相互转换,获取某天的信息

    毫秒转换为日期 SELECT TO_CHAR(1406538765000 / (1000 * 60 * 60 * 24) + TO_DATE('1970-01-01 08:00:00', 'YYYY- ...

  2. Java笔记 —— 方法重载和方法重写

    Java笔记 -- 方法重载和方法重写 h2{ color: #4ABCDE; } a{ text-decoration: none !important; } a:hover{ color: red ...

  3. IDEA导入Web项目

    最近尝试着从eclipse.myeclipse转到idea上面来开发. *注:以下仅适用于普通web项目.*  一.导入已有项目 File>Open...>选取自己的项目位置 二.添加ja ...

  4. seattle language school & on-line degree

    http://www.kaplaninternational.com/ https://asuonline.asu.edu/online-degree-programs/ https://asuonl ...

  5. Spark job执行流程消息图

    Spark job执行流程消息图 1.介绍

  6. 如何使用ABAP代码反序列化JSON字符串成ABAP结构

    假设我有这个JSON字符串如下图所示: 我的任务是解析出上图黑色方框里的几个字段,比如ObjectID, ETag, BuyerID, DateTime, ID, Name等等,把它们的值存储到对应A ...

  7. Selenium入门系列5 默认不显示的下拉列表元素操作

    本节课程的下拉框是那种默认隐藏,当鼠标移到菜单上下拉框才显示的.如果直接getelement会报错,提示元素不可见: so,得先让下拉列表显示出来再获取元素 用到的新知识: is_display()  ...

  8. Python 语法基础

    之所以学习Python,第一个是他比较简单,寒假时间充裕,而且听说功能也很不错,最重要的是,我今年的项目就要用到它. 而且刘汝佳的书上说到,一个好的Acmer要是不会一点Python那就是太可惜了.废 ...

  9. 使用node.js + socket.io + redis实现基本的聊天室场景

    在这篇文章Redis数据库及其基本操作中介绍了Redis及redis-cli的基本操作. 其中的publish-subscribe机制应用比较广泛, 那么接下来使用nodejs来实现该机制. 本文是对 ...

  10. 2017.10.13 Java中引用类型变量的创建及使用&循环高级写法

    今日内容介绍 1.引用类型变量的创建及使用 2.流程控制语句之选择语句 3.流程控制语句之循环语句 4.循环高级 ###01创建引用类型变量公式     * A: 创建引用类型变量公式         ...