服务端:
yum install -y salt-master

客服端:
yum install -y salt-minion

服务端启动:
systemctl restartsalt-master
配置文件在:/etc/salt/master
密钥文件:/etc/salt/pki
├── master
│   ├── master.pem #公钥
│   ├── master.pub #私钥 #密钥是用来跟minion(客服端)做验证使用的
│   ├── minions
│   ├── minions_autosign
│   ├── minions_denied
│   ├── minions_pre
│   └── minions_rejected

客服端先做配置然后在启动 使用的yml语法:
配置文件在:/etc/salt/minion
配置: vim /etc/salt/minion
找到 #master
修改: master: 172.168.1.200
启动: systemctl restart salt-minion
启动后也会生成公钥私钥
minion_id 默认是会把主机名字写到这里面当ID用 可以定义配置文件中的id值进行修改

开始认证客服端:
[root@localhost]# cd /etc/salt/pki/
[root@localhost pki]# tree
.
├── master
│   ├── master.pem
│   ├── master.pub
│   ├── minions
│   ├── minions_autosign
│   ├── minions_denied
│   ├── minions_pre #这个目录里面的文件就是启动的客服端的公钥文件,默认是主机名字 一共2台
│   │   └── client
│   │   └── server_client
│   └── minions_rejected
└── minion
├── minion.pem
└── minion.pub

客服端到服务器认证流程:
客服端的公钥 发送给--> 服务器端 ---> salt-key -A 执行后 服务器端 会把密钥放到minions目录/etc/salt/pki/master/minions 也会把自己的公钥发给 --->客服端 双向认证模式

[root@localhost pki]# salt-key #查看当前列表需要认证的客服端
Denied Keys:
Unaccepted Keys:
client
server_client
Rejected Keys:

[root@localhost minions_pre]# salt-key -A #全部允许认证

[root@localhost minions_pre]# salt '*' test.ping #测试主机是否ping通
client:
True
server_client:
True

客服端和服务端通行:
1 服务端启动后: 会有2个端口 4505(发消息) 和 4506(收消息)
2 所有的客服端连接到服务端的4505这个端口 ,通过这个端口发送一个命令 所有的客服端都能收到返回一个结果到服务器的4506端口
3 zeromq:消息队列 通过这个队列推送消息

定义任务文件目录: vim /etc/salt/master
file_roots:
base:
- /srv/salt/base
test:
- /srv/salt/test
dev:
- /srv/salt/dev

base目录下面 新建httpd.sls base这个目录是必须要有的
httpd-install:
pkg.installed:
- name: httpd

http-service:
service.running:
- name: httpd
- enable: True

salt \* state.sls httpd #state.sls  # 执行模块 httpd指的是 httpd.sls    开始安装httpd 并且启动

salt 高级状态. 也就是说给那个服务器做什么任务
[root@server_client /]# vim /srv/salt/base/top.sls #文件必须叫top.sls 在master 配置#state_top: top.sls 这定义了 默认就叫这个文件名 并且还要把这个文件放base目录里面
格式:
base:
'client': #那个主机
- httpd #执行任务 httpd 指的是 上面master 定义的任务文件中/srv/salt/base 中的 httpd.sls
'server_client':
- httpd
[root@server_client /]# salt '*' state.highstate #运行高级状态 这里面的*是通知所有的机器干top.sls里面自己对应的活 但是如果top.sls里面没让自己这个客服端处理任务,机器就不会运行任务

saltStack_安装和使用的更多相关文章

  1. 自动化运维工具saltstack01 -- 之SaltStack介绍、安装与基础使用

    SaltStack介绍 官网地址:http://www.saltstack.com 官方文档地址:http://docs.saltstack.com Github:http://Github.com/ ...

  2. Saltstack_实战指南01_系统规划

    1. 实战项目GitHub地址 之前<Saltstack_使用指南>详细讲解了saltstack的使用.那么从这节开始实战讲解,当然不会再像之前那样详细说明了.只是讲一些系统规划之类的信息 ...

  3. docker——容器安装tomcat

    写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...

  4. 网络原因导致 npm 软件包 node-sass / gulp-sass 安装失败的处理办法

    如果你正在构建一个基于 gulp 的前端自动化开发环境,那么极有可能会用到 gulp-sass ,由于网络原因你可能会安装失败,因为安装过程中部分细节会到亚马逊云服务器上获取文件.本文主要讨论在不变更 ...

  5. Sublime Text3安装JsHint

    介绍 Sublime Text3使用jshint依赖Nodejs,SublimeLinter和Sublimelinter-jshint. NodeJs的安装省略. 安装SublimeLinter Su ...

  6. Fabio 安装和简单使用

    Fabio(Go 语言):https://github.com/eBay/fabio Fabio 是一个快速.现代.zero-conf 负载均衡 HTTP(S) 路由器,用于部署 Consul 管理的 ...

  7. gentoo 安装

    加载完光驱后 1进行ping命令查看网络是否通畅 2设置硬盘的标识为GPT(主要用于64位且启动模式为UEFI,还有一个是MBR,主要用于32位且启动模式为bois) parted -a optima ...

  8. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5. ...

  9. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 1.实施前准备工作 1.1 服务器安装操 ...

随机推荐

  1. 基础架构:一条SQL查询语句是如何执行的?

    https://time.geekbang.org/column/article/68319?code=pEYaxHnjO23LQHW4CJgL706EXlpAJnbOOiT2y42cWwU%3D 这 ...

  2. flask的基本操作

    常用的SQLAlchemy字段类型 # coding:utf-8 from flask import Flask from flask_sqlalchemy import SQLAlchemy app ...

  3. 独立版的 Asio安装与使用

    Asio分为独立版和Boost版.两者使用方法基本一致,只是头文件不同.Boost版是作为Boost的子库提供的. 因为Asio的组织形式为hpp文件(不同一般的C++项目区分头文件.h和源文件.cp ...

  4. 解释器模式(Interpreter、Context、Expression)

    (给定一门语言,定义它的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中的句子.) 解释器模式的定义是一种按照规定语法进行解析的方案,在现在项目中使用的比较少,其定义如下: Given ...

  5. appium+python 启动一个app步骤

    询问度娘搭好appium和python环境,开启移动app自动化的探索(基于Android),首先来记录下如何启动待测的app吧! 如何启动APP?1.获取包名:2.获取launcherActivit ...

  6. ES6中async和await说明和用法

    昨天看了一篇vue的教程,作者用async/ await来发送异步请求,从服务端获取数据,代码很简洁,同时async/await 已经被标准化,是时候学习一下了. 先说一下async的用法,它作为一个 ...

  7. bzoj 3895 取石子——博弈论

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3895 看题解:https://blog.csdn.net/popoqqq/article/d ...

  8. LintCode刷题笔记-- Distinct Subsequences

    标签:动态规划 题目描述: Given a string S and a string T, count the number of distinct subsequences of T in S. ...

  9. mysql的三种连接方式

    SQL的三种连接方式分为:左外连接.右外连接.内连接,专业术语分别为:LEFT JOIN.RIGHT JOING.INNER JOIN 内连接INNER JOIN:使用比较运算符来根据指定的连接的每个 ...

  10. spring boot 异常处理(转)

    spring boot在异常的处理中,默认实现了一个EmbeddedServletContainerCustomizer并定义了一个错误页面到"/error"中,在ErrorMvc ...