salt的思路看起来是成为一个大规模自动化运维和云计算管理的一个框架,类似于SDK,并不是像puppet仅仅成为一个工具。基于良好设计的API和清楚的思路,salt的二次开发简单的令人难以置信。写很少的代码就可以将salt和现有的运维系统结合,诸如CMDB,配置管理,云计算框架等,发挥强大的作用。一个公司如果对于python语言有大量的投资、雇佣了很多的python程序员,以python构建服务器管理系统,salt是一个更好的选择,而不是puppet。
认证
下面的代码就是最简单的通过pam取得salt认证,并且执行lowstate
import saltimport salt.authimport salt.logimport saltapiopts = salt.client.LocalClient().optsauth = salt.auth.LoadAuth(opts)lowstate = {’username’:’saltuser’,’password’:’1q2w3e4r’,’eauth’:’pam’}token = auth.mk_token(lowstate)api = saltapi.APIClient(opts)lowstate = {’client’:’local’, ‘func’:’test.ping’, ‘tgt’:’EXAMPLE.COM’, ‘token’:token[’token’]}res = api.run(lowstate)
原文地址:使用 salt-api 进行开发, 感谢原作者分享。 接受失败,是我们不常听到或看到的一个命题,