Salt for Junos OS 概述
Salt 或 SaltStack 平台是一个基于 Python 的开源远程执行和配置管理工具。您可以使用 Salt 来定义和实施系统状态,或在设备上执行临时命令。Salt 具有高度可扩展性,可以管理数千台设备,包括运行 Junos OS 的设备。
Salt 主节点是管理一个或多个节点或 Salt 工作节点的主控制服务器。Salt 主服务器可以通过 Salt 代理工作节点管理运行 Junos OS 的设备。通过代理工作节点,您可以管理不直接运行 Salt 工作节点,但可以通过其他协议(例如网络配置协议 (NETCONF))进行管理的设备。
Salt 安装包括以下组件和模块,您可以使用 Salt 管理运行 Junos OS 的设备:
Junos 代理 — 将 Salt作转换为特定于 Junos OS 的指令,并使 Salt 系统能够连接到并管理运行 Junos OS 的设备。
Junos 执行模块 - 定义执行函数,使您能够从 Salt 主命令行在运行 Junos OS 的设备上执行临时任务。
Junos 状态模块 - 定义状态函数,使您能够声明和实施运行 Junos OS 的设备的所需状态。
Junos 系统日志引擎 — 监控从运行 Junos OS 的设备发送的系统日志消息,提取事件信息,并以 Salt 格式在 Salt 事件总线上发布这些信息。
Junos 代理使用 ZeroMQ 事件总线连接到 Salt 主站,并使用瞻博网络 Junos PyEZ 库通过 SSH 与运行 Junos OS 的设备建立 NETCONF 会话。 Junos PyEZ 是 Python 的微框架,可用于管理和自动化运行 Junos OS 的设备。 图 1 展示了运行 Junos OS 的设备的典型 Salt 设置。