一、Dkron——服務器配置信息
dkron 的命令行操作都以dkron 開頭,后面可以跟着不同的配置信息,例如在命令行敲出以下命令 :dkron agent --server --bootstrap-expect= 1 表示dkron以代理服務器形式啟動,並且提供數據中心中預期的服務器數量為1。 其他相關配置dkron agent信息如下:
–advertise-addr String 用於向集群中其他節點進行公告的地址。缺省情況下,發布綁定地址。該值支持go-sockaddr / template格式。
–advertise-rpc-port int 默認使用rpc-port的值
–bind-addr String 指定代理應為網絡服務綁定的地址,包括內部八卦協議和RPC機制。該名稱應以IP格式指定,並且可用於輕松地將所有網絡服務綁定到同一地址。該值支持go-sockaddr / template格式。 (默認為“ {{GetPrivateIP}}:8946”)
–bootstrap-expect int 提供數據中心中預期的服務器數量。要么不提供此值,要么該值必須與集群中的其他服務器一致。如果提供了Dkron,Dkron將等待直到指定數量的服務器可用為止,然后引導群集。這樣可以自動選舉最初的領導者。該標志要求服務器模式。
–data-dir String 指定用於服務器特定數據(包括復制的日志)的目錄。默認情況下,這是頂級數據目錄,例如[/ var / lib / dkron](默認為“ dkron.data”)
–datacenter String 指定本地代理的數據中心。數據中心的所有成員應共享本地LAN連接。 (默認為“ dc1”)
–dog-statsd-addr String DataDog代理地址
–dog-statsd-tags String Datadog標簽,指定為key:value
–enable-prometheus 啟用服務普羅米修斯指標
–encrypt string 用於加密網絡流量的密鑰。必須是base64編碼的16字節密鑰
-h,–help代理幫助
–http-addr String 將 UI Web服務器綁定到的地址。僅在服務器時使用。該值支持go-sockaddr / template格式。 (默認為“:8080”)
–join String 要加入的初始代理。可以多次指定此標志
–log-level String 日志級別(調試|信息|警告|錯誤|致命|緊急)(默認為“信息”)
–mail-from String 從電子郵件地址使用
–mail-host String 用於通知的郵件服務器主機地址
–mail-password String 要使用的郵件服務器密碼
–mail-payload string 通知郵件有效載荷
–mail-port uint16 郵件服務器端口
–mail-subject-prefix String 通知郵件主題前綴(默認為“ [Dkron]”)
–mail-username String 用於身份驗證的郵件服務器用戶名
–node-name String 此節點的名稱。在集群中必須唯一(默認為“ pris.local”)
–profile String Profile用於控制使用的時序配置文件(默認為“ lan”)
–raft-multiplier int 服務器用來縮放關鍵Raft時序參數的整數乘數。省略此值或將其設置為0會使用下面介紹的默認計時。較低的值用於拉緊時序並增加靈敏度,而較高的值則用於放松時序並降低靈敏度。進行此調整會影響檢測領導者故障和執行領導者選舉所花費的時間,但代價是需要更多的網絡和CPU資源才能獲得更好的性能。默認情況下,Dkron將使用較低性能的計時,適用於最小的Dkron服務器,當前等效於將此值設置為5(此默認值可能會在將來的Dkron版本中更改,具體取決於目標最低服務器配置文件是否更改)。將此值設置為1將建議將Raft配置為其最高性能模式,以用於生產Dkron服務器。允許的最大值為10。(默認值為1)
–region String 指定Dkron代理所屬的區域。一個區域通常會映射到一個具有潛在多個區域的地理區域(例如我們),這些區域會映射到諸如us-west和us-east(默認為“ global”)之類的數據中心
–retry-interval string 兩次連接嘗試之間等待的時間。 (默認為“ 30s”)
–retry-join String 在啟用重試后開始時要加入的代理的地址。可以多次指定。
–retry-max int 最大連接嘗試次數。默認為0,它將無限期重試。
–rpc-port int 用於與客戶端通信的RPC端口。僅在服務器時使用。 RPC IP地址將與綁定地址相同(默認值為6868)
–serf-reconnect-timeout String 這是在放棄並認為它完全消失之前嘗試重新連接到故障節點的時間。在Kubernetes中,您可能需要5秒鍾左右的時間,因為沒有理由嘗試為默認的24h值重新連接。如果未收獲節點並返回具有相同ID但不同的ID,則Raft的行為也會很奇怪
–server 該節點以服務器模式運行
–statsd-addr String Statsd地址
–tag String 可以多次指定標簽,以將多個鍵/值標簽對附加到給定節點,指定為key = value
–webhook-headers String 調用webhook URL時使用的標題。 可以多次指定
–webhook-payload String 在webhook調用中發送的POST請求的正文
–webhook-url String 調用通知的Webhook URL
二、Job配置信息
成員 |
含義 |
Name |
作業名稱 |
DisplayName |
作業顯示 |
Schedule |
調度機制 |
Tags |
指定目標server運行job |
Retries |
重試執行次數 |
DependentJobs |
所以依賴的jobs |
ChildJobs |
子jobs |
ParentJob |
父job |
Executor |
執行器 |
Concurrency |
是否並行 |
job實例:
{ "name": "job1", //配置job名字 "schedule": "@every 10s", "timezone": "Asia/Shanghai", "owner": "Platform Team", "owner_email": "platform@example.com", "disabled": false, //job任務是否需要執行標記 "tags": { "server": "true:1" //指定server執行該任務 }, "metadata": { "user": "12345" }, "retries":3, //執行失敗,重試次數 "dependent_jobs": null, //其所從屬的job任務 "parent_job": null, //表示在其父任務完成后執行 "concurrency": "allow", //是否使用並發執行 "executor": "shell", //執行器配置參數 "executor_config": { "command": "echo \"-------Hello world------!\"" //執行器配置命令 } }
三、部分API展示
請求方式 |
請求連接 |
請求數據(body) |
備注 |
POST |
http://localhost:8080/v1/jobs |
Job任務信息 |
創建task任務 |
POST |
http://localhost:8080/v1/jobs/myfirst/toggle |
無 |
改變任務運行狀態 |
DELETE |
http://localhost:8080/v1/jobs/myfirst |
無 |
刪除任務 |
分布式調度任務管理——Dkron(1)運行機制
分布式調度任務管理——Dkron(2)運行配置
分布式調度任務管理——Dkron(3)代碼結構分析及部署運行
參考鏈接:
https://blog.csdn.net/gongdongxiang/article/details/108343785