SaltStack源码解析 — salt-minion启动过程

有运维或运维开发方面的需求,可以联系博主QQ 452336092或Email:admin#centos.bz(收费)

文章目录
[隐藏]

功能介绍

 

salt-minion负责接收salt-master的消息,执行相应的指令。

 

环境介绍

 

 

场景描述

 

本节分析salt-minion启动过程,我们使用如下命令启动salt-minion:

  1. /usr/bin/salt-minion -d

 

总体分析

 

salt-minion启动过程总体分析如下:
1、使用parsers.MinionOptionParser类解析命令行参数及配置文件,此类继承了MasterOptionParser类,与salt-master解析过程差不多;
2、加载必要的模块,如grains,pillar;
3、开始连接salt-master的Req Server,评估与master的验证状态,如果master没有把minion的key加入信任列表,minion则循环验证直到验证通过;
4、发送消息通过master,minion已启动;
5、订阅salt-master pub服务器。

 

详细分析

 

函数调用流程图

 

salt-minion启动过程

 

核心类功能介绍

 

类关系图

salt-minion启动过程类图

MinionOptionParser类

MinionOptionParser类继承了MasterOptionParser,覆盖了MasterOptionParser的setup_config方法,改为由之前的master配置文件为minion配置文件。MasterOptionParser的讲解可以参考SaltStack源码解析 — salt-master启动过程

 

Minion类

这个应该算是比较重要的类了,包括了与master通信的所有方法。比如_do_socket_recv,负责接收master pub信息;_do_event_poll,负责处理事件;authenticate负责处理与master的验证。

转载请保留原文链接:Linux运维日志 » SaltStack源码解析 — salt-minion启动过程

打赏

如果此文对你有所帮助,请随意打赏鼓励作者^_^