以下结论

结论1
由于minion配置文件里能配置的只有master的IP和master的ret_port,而无法指定master的publish_port
因此minion获取的master的publish_port是在认证通过之后,master告诉它的。再认证通过之前minion端是不知道master的publish_port

使用tcpdump抓包验证了,以及lsof :4506验证了。刚开始是连4506端口的

结论2
假如salt-master和salt-minion不在一个机房。并且2个机器均无外网IP,但是都可以上网
salt-master和salt-minion如果正常通信的话,需要在master机房防火墙做端口映射
假如master机器内网IP是192.168.56.11 master机房防火墙IP是200.200.200.200
minion端配置文件里master的IP是200.200.200.200,其中ret_port也是master机房防火墙的端口

ret_port可以不一对一映射
比如下面格式。 master监听在4506端口。防火墙可以映射54506端口到master机器的4506端口
192.168.56.11:4506-----200.200.200.200:54506

其中publish_port必须一对一映射
master配置文件里的publish_port端口必须和防火墙外网端口一致
192.168.56.11:4505-----200.200.200.200:4505
或者说
192.168.56.11:54505-----200.200.200.200:54505

实际生产环境也验证了。

某地区的minion配置如下

minion配置的ret_port如下

配置自己的id,和主机名不一样

防火墙端口映射

其中publish_port是一对一映射的

master的端口

master端的配置文件

场景3

如果防火墙没一对一映射,比如下面场景,防火墙映射2个端口给salt使用
10.0.1.61:4505-----200.200.200.200:14505
10.0.1.61:4506-----200.200.200.200:14506
解决办法
如果防火墙没一对一映射。还可以在master上通过iptables解决,做一个nat
可以这么处理,修改master的配置,让publish_port监听14505端口,4506给ret_port使用不变
iptables -t nat -A PREROUTING -d 10.0.1.61 -p tcp --dport 4505 -j DNAT --to-destination 10.0.1.61:14505

 

saltstack总结-2018-0620的更多相关文章

  1. 01_3大配置管理工具、SaltStack安装、修改minion_id

    1.配置管理 1.1 puppet /'pʌpɪt/  木偶:傀儡:受他人操纵的人 使用自有的puppet描述语言,可管理配置文件.用户.cron任务.软件包.系统服务等. 问题: 学习曲线非常陡峭 ...

  2. saltstack高效运维

    saltstack高效运维   salt介绍 saltstack是由thomas Hatch于2011年创建的一个开源项目,设计初衷是为了实现一个快速的远程执行系统. salt强大吗 系统管理员日常会 ...

  3. 自动化运维之Saltstack

    第三十八课 自动化运维之Saltstack 目录 一.自动化运维介绍 二. saltstack安装 三. 启动saltstack服务 四. saltstack配置认证 五. saltstack远程执行 ...

  4. 基于saltstack自动化部署高可用kubernetes集群

    SaltStack自动化部署HA-Kubernetes 本项目在GitHub上,会不定期更新,大家也可以提交ISSUE,地址为:https://github.com/skymyyang/salt-k8 ...

  5. saltstack的封装和内网使用

    0.客户端使用 linux:把linux的ragent文件夹拷贝到内网linux /opt目录下,运行初始化脚本 salt服务端:# @Master:"/opt/ragent/python/ ...

  6. 01:saltstack 基本使用

    1.1 准备实验环境: 安装系统 1)硬件配置如下 2) 先把光标放到”install CentOS 7”,按 Tab键编辑内核参数,添加 (net.ifnames=0 biosdevname=0) ...

  7. saltstack returners 结果转存

    returners 是saltstack对minion执行操作后,对返回的数据进行存储,可以存储到一个文件或者数据库当中. 支持的returners http://docs.saltstack.cn/ ...

  8. Python3安装使用SaltStack以及salt-api详解

    序言 最近在使用salt-api做主机批量管理部署,整理一下文档.之前使用saltstack 多用于命令行管理,自己做web版的自动化管理平台时,发现命令行的些许局限性,接触到salt-api,找到了 ...

  9. 自动化运维与Saltstack

    一.自动化运维介绍 1.自动化运维产生背景   传统的IT运维是将数据中心中的网络设备.服务器.数据库.中间件.存储.虚拟化.硬件等资源进行统一监控,当资源出现告警时,运维人员通过工具或者基于经验进行 ...

  10. 17,saltstack高效运维

      salt介绍 saltstack是由thomas Hatch于2011年创建的一个开源项目,设计初衷是为了实现一个快速的远程执行系统. salt强大吗 系统管理员日常会进行大量的重复性操作,例如安 ...

随机推荐

  1. windows2012的服务器远程桌面提示内部错误的问题解决方法

    一.问题表象 我们在OpenStack安装了windows server2012r2版本的虚拟机,在本地通过远程桌面连接时,输入账号密码后,提示连接断开或者内部错误的问题 二.解决办法 1)windo ...

  2. java 接口1

    接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明.一个类通过继承接口的方式,从而来继承接口的抽象方法. 接口并不是类,编写接口 ...

  3. mongo-2ds索引对超过半球范围的适用性测试

    以下测试均基于mongo v4.0 win10 一.GeoJSON GeoJSON是一种基于json的经纬度描述数据格式.在这里主要服务于2dsphere索引查询. 基本格式  <type:&q ...

  4. Codeforces Round #245 (Div. 1) B. Working out (dp)

    题目:http://codeforces.com/problemset/problem/429/B 第一个人初始位置在(1,1),他必须走到(n,m)只能往下或者往右 第二个人初始位置在(n,1),他 ...

  5. bootstrap-fileinput多图片上传

    在页面写一个input框: <input id="subGraphAddress1" name="subGraphAddress" type=" ...

  6. 第一次 刷 WiFi 模块esp8266 感谢创客阿正

    在正哥指导下 第一次 刷 WiFi 模块  少走了 不少弯路 套件里的 两块 机智云  ==== 我的电脑 需要单独供电 先 对应 接好 ic0要记得接gnd 等待上电时要断电重启 等  用助手 返回 ...

  7. lvm语法

    RAID:     Redundant Arrays of Inexpensive Disks                         Independent       Berkeley: ...

  8. 移动端轮播图vue-awesome-swiper

    日常写设计文档,日常写Demo,写轮播图的时候觉得bootstrap不适合移动端,或者说不是轻量级的,于是换成Swiper,但是写的时候才发现怎么把这东西嵌到Vue里面啊? Σ( ° △ °|||)︴ ...

  9. 看到Console.WriteLine($"string")写法,一时间不理解$的用途

    参了网上资料,原来它是C# 6.0的语法糖. C# 6.0 新加上的功能:   Null-Conditional Operator 大概就是,简洁代码量,缩短一些关于为null的判断~ 旧写法: pu ...

  10. MVCC(Multi-version Cocurrent Control)多版本并发控制协议

    MVCC相比2PC是一种更简单有效的分布式事务解决方案. 假设一种场景,一个分布式事务在A,B两个节点更新数据,要么同时成功,要么同时失败. MVCC 中,为每个事务分配一个递增的事务编号,有一个中心 ...