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