开发手册 欢迎您!
软件开发者资料库

SaltStack - Python API

SaltStack Python API - 从简单和简单的步骤学习SaltStack,从基本到高级概念,包括概述,架构,竞争对手,安装,创建简单环境,访问控制系统,作业管理,Salt文件服务器,Git作为文件服务器,使用MinionFS作为文件服务器,使用Cron with Salt,远程执行,配置管理,日志记录,通过SSH盐,Salt for Cloud Infrastructure,Salt Proxy Minions,事件系统,Orchestration,Salt Package Manager,Python API,工作示例。

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

配置

盐.config 模块用于访问Salt配置详细信息.

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

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

Loader

salt.loader 模块用于加载Salt中的每个模块,如grain, minions等.

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

这里, grain 读取谷物的细节盐系统并返回它.

客户端模块

salt.client 模块用于执行盐,盐 - 打电话和salt-SSH命令以编程方式.

最重要的python类如下 :

  • salt.client.LocalClient

  • salt.client.Caller

  • salt.client.ssh.client.SSHClient

大多数客户端模块提供的主要功能是 cmd .此函数包装CLI选项并执行它,类似于命令行,并将结果作为python数据结构返回.

LocalClient

LocalClient用于将命令从主节点发送到salt minions并将结果返回给master.

  import salt.client  local = salt.client.LocalClient() local.cmd('*','test.ping')

It将产生以下输出 :

  {'minion1':True,'minion2':True}

来电者

来电者用于以编程方式运行 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')

云模块提供创建VM的功能(创建),销毁虚拟机(销毁),列出云提供商提供的图像(list_images),列出云提供商的位置(list_locations),列出云提供商的机器大小(list_sizes)等.