- SaltStack 教程
- SaltStack - 首页
- SaltStack - 概述
- SaltStack - 架构
- SaltStack - 竞争对手
- SaltStack - 安装
- 创建简单的环境
- SaltStack - 访问控制系统
- SaltStack - 作业管理
- SaltStack - Salt 文件服务器
- SaltStack - Git 作为文件服务器
- 使用 MinionFS 作为文件服务器
- SaltStack - 使用 Cron 与 Salt
- SaltStack - 远程执行
- 配置管理
- SaltStack - 日志记录
- SaltStack - 通过 SSH 使用 Salt
- Salt 用于云基础设施
- SaltStack - Salt 代理 Minion
- SaltStack - 事件系统
- SaltStack - 编排
- SaltStack - Salt 包管理器
- SaltStack - Python API
- SaltStack - 工作示例
- SaltStack 有用资源
- SaltStack - 快速指南
- SaltStack - 有用资源
- SaltStack - 讨论
SaltStack - Python API
Salt 提供对其所有命令的编程访问。Salt 为 Salt 系统的每个部分提供不同的模块。在本章中,让我们学习 Python API 的基础知识以及如何在其中运行基本的 Salt 命令。
配置
salt.config 模块用于访问 Salt 配置详细信息。
import salt.config opts = salt.config.client_config('/etc/salt/master')
在这里,client_config 读取 Salt 配置文件并将配置详细信息作为字典返回。
加载器
salt.loader 模块用于加载 Salt 中的每个模块,例如 grains、minion 等。
import salt.loader opts = salt.config.minion_config('/etc/salt/minion') grains = salt.loader.grains(opts)
在这里,grains 读取 Salt 系统中 grains 的详细信息并返回它。
客户端模块
salt.client 模块用于以编程方式执行 salt、salt-call 和 salt-SSH 命令。
最重要的 Python 类如下:
- salt.client.LocalClient
- salt.client.Caller
- salt.client.ssh.client.SSHClient
大多数客户端模块提供的核心函数是 cmd。此函数包装 CLI 选项并执行它,这类似于命令行并以 Python 数据结构的形式返回结果。
LocalClient
LocalClient 用于从主节点向 Salt Minion 发送命令并将结果返回到主节点。
import salt.client local = salt.client.LocalClient() local.cmd('*', 'test.ping')
它将产生以下输出:
{'minion1': True, 'minion2': True }
Caller
Caller 用于以编程方式运行salt-call并返回结果。
import salt.client caller = salt.client.Caller() caller.cmd('test.ping')
它将产生以下输出:
True
SSHClient
SSHCient 用于以编程方式运行salt-ssh并返回结果。
import salt.client.ssh.client ssh = salt.client.ssh.client.SSHClient() ssh.cmd('*', 'test.ping')
它将产生以下输出:
{'minion1': True, 'minion2': True }
CloudClient
salt.cloud 模块用于以编程方式执行 salt-cloud 命令。
client = salt.cloud.CloudClient(path = '/etc/salt/cloud')
Cloud 模块提供用于创建 VM(create)、销毁 VM(destroy)、列出云提供商提供的镜像(list_images)、列出云提供商的位置(list_locations)、列出云提供商的机器大小(list_sizes)等的功能。
广告