SaltStack学習ノート-第13編:saltstackのプログラミング開発


第12編はウェブ開発を先に書いて、盗んだようだが、やはりこの編を見てから帰って第12編を見る必要がある.
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():salt-key-Lのようなkey認証のリストを表示します.
SaltStackは、ディスク、メモリ、CPUなどのクエリーサーバ情報を提供する多くのインタフェースを提供し、これらのインタフェースを通じてメンテナンス監視開発を行うことができます.また、saltは自身に構成されたインタフェースも多く含まれており、saltの機能をwebで操作することができます.