Shell脚本 循环 SCI HTTP请求 laravel sorting memory datagridview count ldap vue组件注册 网赚视频教程 cpm计算 拼接json字符串 移动端上传图片插件 matlab 图像识别 centos7安装gcc 内存计算 oracle查看所有数据库 python的extend python正则表达 java时间 java中的抽象类 java实用教程 java匿名对象 javascript源代码 js轮播图代码 飞猪ip 脚本 网络适配器下载 HTML5从入门到精通 u盘系统下载 tomcat修改端口 deepcopy 剑灵龙骨卷轴 ftp客户端软件 unlocker下载 maplesim 搜狐影音播放器 苹果电脑数据恢复
当前位置: 首页 > 学习教程  > 编程语言

从0到1之saltstack:2. minion简介

2021/2/13 17:32:25 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

1. 前言 新年伊始,祝大家牛年一切顺利! 上一篇大概介绍了salt的基本角色和以saltmaster的视角梳理一次job的生命周期,本文就重点梳理minion相关的内容。 2. salt-minion 2.1 salt-minion简介 salt-minion本质是位于被管理的机器上的一种单…

1. 前言

新年伊始,祝大家牛年一切顺利!
上一篇大概介绍了salt的基本角色和以saltmaster的视角梳理一次job的生命周期,本文就重点梳理minion相关的内容。

2. salt-minion

2.1 salt-minion简介

salt-minion本质是位于被管理的机器上的一种单一进程。即可以作为本机的守护进程运行,通过接收本地“salt-call”命令来执行;同时也可以作为client链接master,接收远程控制命令(重点)。
启动salt-minion之前,需要在配置文件里配置master地址。启动后会默认和master 4505|4506(可自定义配置)端口建立tcp连接,其中:

  • 4505端口: 和master内Publisher建立tcp连接,用来接收从master发送过来的job
  • 4506端口:为master内ReqServer绑定端口,minion通过此端口发送每次job执行完成之后的反馈结果给master

2.2 salt-minion内的事件系统

无论是接收来自本地的salt-call命令还是远程master的salt命令来执行任务,本质上都是salt-minion在本地执行具体的job内的函数请求,并返回结果。
安装minion后,执行ps -ef | grep salt-minion后会发现有多条结果
在这里插入图片描述
实际上,从输出结果的pid(第2列,进程号) 和 ppid(第3列,父进程号)中可以看出,第2 3行都是fork出来的子进程。
salt-minion本质上虽然是一个单进程,但实际上会fork出多个子进程来完成多种任务,而不会阻塞主salt-minion进程,因此需要进程间互相通信的机制。因此salt-minion也拥有自己独立的事件总线(event system)来保证进程间的通信机制的实施。同时,提供这样一条总线,可作为salt-minion的通用接口,供任何拥有足够权限的用户进行读取或写入。

3. job的生命周期

salt-minion启动后,便尝试去连接master上的ReqServer和Publisher。身份验证通过后,便开始监听job。
job来源于两种:本地执行salt-call 和 master远程执行salt命令(重点)
从salt-minion视角:salt-master执行salt命令后,一次完整的job生命周期为:

  1. master发布一个执行minion执行的job
  2. minion轮询和master中Publisher(4505端口)建立连接的socket,当检测到socket中有信息传入时,提取并解密。
  3. 创建一个新的minion子进程(fork)或线程, 并提供消息解密后的内容
  4. 在新的线程内:新minion线程创建完成之后,开始调用job内的请求函数
  5. 在新的线程内:执行具体的请求,并返回结果
  6. 在新的线程内:加密运行完成后的结果,并通过4506端口将其返回给master上的ReqServer
  7. 线程退出
    由于是多线程处理,并且主线程只有在初始化子线程时才会进入阻塞状态,因此同一时间段内minion会处理多个请求。

参考官网:https://docs.saltproject.io/en/latest/contents.html


本文链接: http://www.dtmao.cc/news_show_700168.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?