SaltStack - Python API
Salt bietet programmgesteuerten Zugriff auf alle Befehle. Salt bietet verschiedene Module für jeden Abschnitt des Salt-Systems. Lassen Sie uns die Grundlagen der Python-API und die Ausführung der grundlegenden Salt-Befehle in diesem Kapitel lernen.
Aufbau
Das salt.config Modul wird verwendet, um auf Salt-Konfigurationsdetails zuzugreifen.
import salt.config
opts = salt.config.client_config('/etc/salt/master')
Hier das client_config Liest die Salt-Konfigurationsdatei und gibt die Konfigurationsdetails als Wörterbuch zurück.
Lader
Das salt.loader Modul wird verwendet, um jedes Modul in Salz wie Getreide, Schergen usw. zu laden.
import salt.loader
opts = salt.config.minion_config('/etc/salt/minion')
grains = salt.loader.grains(opts)
Hier, grains liest die Details der Körner im Salzsystem und gibt sie zurück.
Client-Modul
Das salt.client Das Modul wird verwendet, um die Befehle salt, salt-call und salt-SSH programmgesteuert auszuführen.
Die wichtigsten Python-Klassen sind wie folgt:
- salt.client.LocalClient
- salt.client.Caller
- salt.client.ssh.client.SSHClient
Die Hauptfunktion, die von den meisten Client-Modulen bereitgestellt wird, ist cmd. Diese Funktion umschließt die CLI-Optionen und führt sie aus. Dies ähnelt der Befehlszeile und gibt die Ergebnisse als Python-Datenstrukturen zurück.
LocalClient
Der LocalClient wird verwendet, um Befehle vom Master an die Salt Minions zu senden und die Ergebnisse an den Master zurückzugeben.
import salt.client
local = salt.client.LocalClient()
local.cmd('*', 'test.ping')
Es wird Folgendes erzeugt output - -
{'minion1': True, 'minion2': True }
Anrufer
Der Anrufer wird zum Ausführen verwendet salt-call programmgesteuert und geben Sie die Ergebnisse zurück.
import salt.client
caller = salt.client.Caller()
caller.cmd('test.ping')
Es wird Folgendes erzeugt output - -
True
SSHClient
Der SSHCient wird zum Ausführen des verwendet salt-ssh programmgesteuert und geben Sie die Ergebnisse zurück.
import salt.client.ssh.client
ssh = salt.client.ssh.client.SSHClient()
ssh.cmd('*', 'test.ping')
Es wird Folgendes erzeugt output - -
{'minion1': True, 'minion2': True }
CloudClient
Das Modul salt.cloud wird verwendet, um die Salt-Cloud-Befehle programmgesteuert auszuführen.
client = salt.cloud.CloudClient(path = '/etc/salt/cloud')
Das Cloud-Modul bietet Funktionen zum Erstellen von VMs (Erstellen), zum Zerstören von VMs (Zerstören), zum Auflisten von Images, die von einem Cloud-Anbieter bereitgestellt wurden (list_images), zum Auflisten von Standorten eines Cloud-Anbieters (list_locations) und zum Auflisten von Computergrößen eines Cloud-Anbieters (list_sizes). usw.