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 中的每个模块,例如grain、minions 等。
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 用于从 master 向 salt minions 发送命令,并将结果返回给 master。
import salt.client
local = salt.client.LocalClient()
local.cmd('*', 'test.ping')
它将产生以下 输出-
{'minion1': true, 'minion2': true }

来电者

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 }

云客户端

salt.cloud 模块用于以编程方式执行 salt-cloud 命令。
client = salt.cloud.CloudClient(path = '/etc/salt/cloud')
Cloud 模块提供创建虚拟机(create)、销毁虚拟机(destroy)、列出云提供商提供的图像(list_images)、列出云提供商的位置(list_locations)、列出云提供商的机器大小( list_sizes) 等
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4