第十二篇把web开发先写了,貌似偷跑了,还是需要先看看这篇再回去看第十二篇。
SaltStack的提供了完善的API接口给开发者进行二次开发,先执行下面语句安装salt-api:
#yum install salt-api
salt有大量的接口函数,如果仅靠官方文档进行编程比较麻烦,可以考虑使用ipython。ipython可以通过按tab进行提示函数全名,安装ipython的方法:
#yum install ipython
安装完ipython后便可以进行编程,看看下面的使用ipython进行测试
In [1]: import salt In [2]: conf='/etc/salt/master' In [3]: opts = salt.config.master_config(conf) In [4]: client=salt.client.LocalClient() In [5]: salt.client.LocalClient().cmd('127.0.0.1','test.ping') Out[5]: {'127.0.0.1': True} In [6]: salt. salt.Master salt.__dict__ salt.__package__ salt.__version__ salt.crypt salt.os salt.transport salt.MasterExit salt.__doc__ salt.__path__ salt._compat salt.exceptions salt.parsers salt.utils salt.Minion salt.__file__ salt.__reduce__ salt._syspaths salt.fileclient salt.payload salt.verify_env salt.ProxyMinion salt.__format__ salt.__reduce_ex__ salt._version salt.ip_bracket salt.pillar salt.verify_files salt.SaltSystemExit salt.__getattribute__ salt.__repr__ salt.auth salt.loader salt.salt salt.verify_socket salt.Syndic salt.__hash__ salt.__setattr__ salt.check_user salt.log salt.state salt.version salt.__builtins__ salt.__init__ salt.__sizeof__ salt.client salt.logger salt.sys salt.warnings salt.__class__ salt.__name__ salt.__str__ salt.cloud salt.migrations salt.syspaths salt.__delattr__ salt.__new__ salt.__subclasshook__ salt.config salt.minion salt.template In [6]: salt.key.Key(opts).list_keys() Out[6]: {'minions': ['127.0.0.1'], 'minions_pre': [], 'minions_rejected': []}
salt.client.LocalClient().cmd : 执行远程命令,类似命令, salt '127.0.0.1' test.ping
salt.key.Key(opts).list_keys(): 显示key认证的列表,类似 salt-key -L
SaltStack提供了大量的接口可以提供查询服务器信息(例如磁盘,内存,CPU等),可以通过这些接口进行运维监控开发,同时salt也包含了大量对自身配置的接口,我们完全可以通过web操作salt的所有功能。
转载于:https://blog.51cto.com/arlen/1434318