關於saltstack中的執行模塊

1 執行模塊的構成結構

以python2.7環境爲例,可以在/usr/lib/python2.7/site-packages/salt/modules/目錄下找到salt模塊的源碼。比如常用的test.echo模塊函數的存在形式是該目錄下test.py文件中的定義的如下函數:

def echo(text):
    '''
    Return a string - used for testing the connection

    CLI Example:

    .. code-block:: bash

        salt '*' test.echo 'foo bar baz quo qux'
    '''
    return text

2 編寫自己的執行模塊函數

(1) 定製化模塊的存放目錄爲:/srv/salt/_modules/。這個目錄並不是默認存在的,需要手動創建。
(2) 在該目錄下編寫執行模塊的python代碼。以輸出hello world程序爲例
(a) 創建/srv/salt/_modules/hello.py文件,內容如下:

# cat /srv/salt/_modules/hello.py
def world():
    return 'hello, world!'

(b) 執行模塊同步命令:salt ‘*’ saltutil.sync_modules
顯示如下結果,則表示成功(這裏只有一臺minion節點,所以只有一條返回記錄)。
這裏寫圖片描述
(c) 執行自定義模塊
自定義模塊的執行方法與官方模塊一樣,通過”模塊名.函數名”來指定。
這裏寫圖片描述

參考:
SaltStack運維實戰

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章