SaltStack – Python API

SaltStack – Python API


Salt 提供对其所有命令的编程访问。Salt 为 Salt 系统的每个部分提供了不同的模块。在本章中,让我们学习 Python API 的基础知识以及如何运行基本的 salt 命令。

配置

salt.config模块用于接入盐配置的详细信息。

import salt.config
opts = salt.config.client_config('/etc/salt/master')

在这里,client_config读取 salt 配置文件并将配置详细信息作为字典返回。

装载机

所述salt.loader模块用于加载在Salt每个模块,例如谷物,爪牙等

import salt.loader
opts = salt.config.minion_config('/etc/salt/minion')
grains = salt.loader.grains(opts)

在这里,grains读取 Salt 系统中的grains 的详细信息并返回。

客户端模块

所述salt.client模块用于执行盐,盐呼叫和编程方式将盐-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

SSH客户端

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)的功能,等等。

觉得文章有用?

点个广告表达一下你的爱意吧 !😁