1
泊塢羣API客戶端對服務的下列元信息:泊塢窗服務updatedAt時間戳
Meta.UpdatedAt
這是時間戳最後一個用戶發起update
(如更改服務的配置),或者是它的時間戳任何更改服務,即使Docker羣集執行?
例如,如果我的羣服務有5個任務分佈在集羣,然後多克爾由於某種原因,從一個節點移到一個任務到另一個節點(因此該服務的配置不會改變);它會更新這個領域?
泊塢羣API客戶端對服務的下列元信息:泊塢窗服務updatedAt時間戳
Meta.UpdatedAt
這是時間戳最後一個用戶發起update
(如更改服務的配置),或者是它的時間戳任何更改服務,即使Docker羣集執行?
例如,如果我的羣服務有5個任務分佈在集羣,然後多克爾由於某種原因,從一個節點移到一個任務到另一個節點(因此該服務的配置不會改變);它會更新這個領域?
簡答案:不,這不會。
如果你看源代碼,通過調用update
的touchMeta
方法更改meta.UpdatedAt
。對於服務,處理該服務的方法是,該服務鏈接到docker service update
cli命令。所以在技術上,meta.UpdatedAt
僅在您使用docker service update
時更新。
您可以通過本地計算機或羣集上以下這種情況下快速測試:
$ docker service create --name redis --replicas 5 redis
$ docker service inspect --format='{{.Meta.UpdatedAt}}' redis
2017-01-07 15:16:14.910287822 +0000 UTC
$ docker rm -f <some-redis-task-id>
# Swarm should re-schedule the forced removed task onto another node
$ docker service inspect --format='{{.Meta.UpdatedAt}}' redis
2017-01-07 15:16:14.910287822 +0000 UTC
的meta.UpdatedAt
現場應保持不變。
現在叫docker service update redis --replicas 10
,你應該看到新的時間戳。
謝謝,這是一個很棒的答案! – igr