saltstack通訊原理及編寫模組

2021-09-27 13:16:12 字數 1023 閱讀 7553

第三章:saltstack編寫自己的模組**

saltstack的兩個埠:

4506埠的作用:salt master ret介面,支援認證、檔案服務、結果手機等功能

4505埠的作用:salt master pub介面,提供遠端執行命令傳送功能

saltstack通訊過程:

(1)salt minion啟動時候,從配置檔案中獲取到master位址,如果是網域名稱,那就進行解析。

(2)salt minion連線master的4506進行key認證。認證通過,就從4505埠獲取master的publish_port,然後連線publish_port訂閱來自master pub介面的任務。

(3)salt master下發操作指令時,所有的minion都能接收到,然後minion會檢查本機是否匹配,如果匹配,那就執行。執行完畢之後,把結果傳送到master的4506(retain介面)由master進行處理,命令傳送通訊完全是非同步的,並且命令包很小。

編寫自己的執行模組函式

預設情況下,我們定製話模組存放於/srv/salt/_modules資料夾下,這個資料夾並不是預設建立的,需要建立對應的目錄並新增檔案

mkdir -p /srv/salt/_modules/

編輯檔案內容:vi hello.py

def world():

"""this is my first function.

cli example::

salt '*' hello.world

"""return 'hello,world!' ##return這是定義在def函式裡面,才生效

編輯成功後需要推送到所有的minion上:

(1)將模組推送到所有的minion上:salt '』 saltutil.sync_modules

(2)測試,格式salt 『』 py檔名.函式名

Dubbo使用及底層通訊原理

dubbo採用的是一種非常簡單的模型,要麼是提供方提供服務,要麼是消費方消費服務,所以基於這一點可以抽象出服務提供方 provider 和服務消費方 consumer 兩個角色。dubbo除了可以提供服務之外,還可以實現軟負載均衡。它還提供了兩個功能monitor 監控中心和呼叫中心。這兩個是可選的...

簡易通訊錄初編

linux中清空輸入緩衝區最簡便的方法 再來看看linux對fflush stdin 的說法 man 3 fflush 如果對fflush傳入乙個輸入流,會清除已經從輸入流中取出但還沒有交給程式的資料 連輸入流都沒提到。說明glibc實現中的fflush要麼對輸入流什麼都沒乾,要麼幹了些對外部完全沒...

HTTP通訊原理和HTTPS通訊原理

本博主參加位元組跳動第一次面試的時候,發現自己對於網路協議這方面欠缺很嚴重,並且在資訊保安課程中學到了部分數字證書的概念,故特意整理部落格以加強自己對於部分協議體系的理解。http 協議 hypertext transfer protocol,超文字傳輸協議 是客戶端瀏覽器或其他程式與web伺服器之...