阅读背景:

Saltstack的API接口与调用方式

来源:互联网 

 saltstack看起来是成为一个大范围主动化运维和云盘算管理的一个框架,相似于SDK,其实不是像puppet仅仅成为一个工具.基于良好设计的API和清晰的思路,让salt的二次开发变得很简略.写很少的代码便可以够将salt跟现有的运维体系联合.saltstack是用python语言实现的,如果对saltstack本身进行二次开发,就必需得会python语言. Saltstack是通过量个独立的模块构成的,这些都可以当作saltstack的api.然后在上层做基本开发可以通过调用这些saltstack的api的模块进行.通过在python中import引入对应的api模块实现要实现的功效便可,然后写自己对应的需求代码.简略案例:调用saltstack的api模块.由于saltstack应用python语言实现,而python自带的shell跟ubuntu自带默许的vi编纂器一样比拟痴呆,所以先安装ipython,作为开发python的赞助利器.ipython是一个python的交互式shell,功效强悍.跟ubuntu安装其他软件一样Sudo apt-getinstall ipython 便可以够安装. 安装终了后,进入ipython操作界面,然后通过ipython的补全功效,看看salt的模块以下:这里以salt.client为例子,解释一下对saltstack的api的调用.首先进入ipython的界面,importsalt.client     (引入salt.client的模块)Client = salt.client.LocalClient()  (LocalClient是底层定好好的一个类.)Ret = client.cmd(‘1st’, ‘cmd.run’,[‘hostname’])Ret便可回显出1st掌握真个hostname的值.详细的client模块的函数介绍参考:https://docs.saltstack.com/ref/clients/index.html#client-apis然后其他像salt.grains模块,就是搜集信息模块.像引入grains模块后,Import salt.grains.core然后便可以够调用其function函数.Salt.grains.core.ip4()    (这个是回显ip地址信息,由函数名便可以够推断出来的)Salt-api为了快速集成saltstack到第三方体系中,官方供给了salt-api模块.Salt-api是作为saltstack的一个模块接口,它能够供给一系列的接入运行saltstack体系的接口.当saltstack须要与第三方体系集成的时候,这时候候就须要salt-api来进行中间的衔接参与.Salt-api作为一个模块接口,所以首先是要进行安装配置的.首先安装好salt-api在salt-master服务端.然后配置salt-master的配置文件,把运行salt-api的模块启用.再安装好salt-api所需的动态连接库或你要运行的软件.最后启动salt-api,并且重启所有的配置.在配置salt的master文件时候,不同的软件,所须要配置的选项不同.在master的配置文件中,其中salt-api供给了PAM的方法进行认证和权限划分,编纂 salt master 的配置文件 /etc/salt/master , 编纂 external_auth 那一部份,指定用户和他所具有的权限. API 是通过cookie记载认证信息的,所以调用必定要保留cookie,我们调用api的时候首先须要认证,发送要求给 /login.简略案例: 这里以tornado这个web服务器作为演示例子.由于这个是支撑python语言的服务器.首先看官网,在ubuntu下安装好tornado.然后跑起来.讲的很明确,但是细节要靠自己探索.地址https://opython.com/还是依照官网给的demo演示salt-api的调用. saltstack官方有个webui 叫 halite ,一个在页面履行管理的ui.后端用的是salt-api .官网介绍: https://salt-api.readthedocs.org/en/latest/.但是这个最后发明更让人晦涩,而且里面要求的配置文件,基本找不到.总结通过这几天的学习,查找资料.自己总结为saltstack的api接口调用是比拟便利的,网上资料很少,而且官网的salt-api的例子讲的比拟笼统,网上的例子是有联合第三方的程序通过salt-api接入saltstack中.个人总结:saltstack原来就是一个开源的程序,所以其底层代码是透明的,所以可以直接引入saltstack的api的模块进行对应的开发.但是条件是懂得对应的api的功效,可以没必要深究底层代码类如何实现,但是只要知道function功效便可以够啦.但是一般开发中,应当都不是直接对saltstack的api调用,而是通过salt-api作为一个统一的接口接入.salt-api供给saltstack的所要的各种api接口.关于对saltstack的api的接口与调用方法,这些就是自己看资料综合整顿的.但是中间出了很多问题,网上找不到答案的问题.就只能自己揣测.官网上讲的很简略,而且看不很明确.反正总而言之,saltstack的api接口是以各种模块的情势供给出来,可供python来应用,做开发.然后就是salt-api作为一个独立的接入模块,相当于一个SDK的环境,大大简化saltstack集成到现有的运维环境中去.   saltstack看起来是成为一个大范围主动化运维和云盘算管理的一个框架,相似于SDK,其实不是像




你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: