?
This document uses PHP Chinese website manual Release
在本教程的前幾個步驟中,所有節(jié)點都在ACTIVE
可用狀態(tài)下運(yùn)行。swarm manager可以將任務(wù)分配給任何ACTIVE
節(jié)點,所以到現(xiàn)在為止所有節(jié)點都可以接收任務(wù)。
有時,例如計劃的維護(hù)時間,您需要將節(jié)點設(shè)置為DRAIN
可用性。DRAIN
可用性阻止節(jié)點從群管理器接收新任務(wù)。這也意味著管理器停止在節(jié)點上運(yùn)行的任務(wù),并在具有ACTIVE
可用性的節(jié)點上啟動副本任務(wù)。
如果您還沒有,請打開終端并將ssh放入運(yùn)行管理器節(jié)點的機(jī)器中。例如,本教程使用名為的計算機(jī)manager1
。
確認(rèn)您的所有節(jié)點都可用。$ docker節(jié)點ls ID 主機(jī)名狀態(tài)可用性管理器狀態(tài)1bcef6utixb0l0ca7gxuivsj0 worker2準(zhǔn)備好活動38ciaotwjuritcdtn9npbnkuz worker1準(zhǔn)備好活動e216jshn25ckzbvmwlnh5jr3g * manager1準(zhǔn)備好主動領(lǐng)導(dǎo)者
如果您還沒有運(yùn)行redis
滾動更新教程中的服務(wù),請立即啟動它:$ docker service create --replicas 3 --name redis --update-delay 10s redis:3.0.6 c5uo6kdmzpon37mgj9mwglcfw
運(yùn)行docker service ps redis
以查看swarm manager如何將任務(wù)分配給不同節(jié)點:$ docker service ps redis名稱映像節(jié)點期望狀態(tài)當(dāng)前狀態(tài)redis.1.7q92v0nr1hcgts2amcjyqg3pq redis:3.0.6 manager1運(yùn)行運(yùn)行26秒redis.2.7h2l8h3q3wqy5f66hlv9ddmi6 redis:3.0.6 worker1運(yùn)行運(yùn)行26秒redis.3.9bg7cezvedmkgg6c8yzvbhwsd redis:3.0.6 worker2運(yùn)行運(yùn)行26秒在這種情況下,swarm管理器向每個節(jié)點分配一個任務(wù)。您可能會看到環(huán)境中的節(jié)點之間的任務(wù)分布不同。
運(yùn)行docker node update --availability drain <NODE-ID>
以排除已分配任務(wù)的節(jié)點:docker節(jié)點更新 - 可用性drain worker1 worker1
檢查點,檢查其可用性:$搬運(yùn)工節(jié)點檢查--pretty worker1 ID:38ciaotwjuritcdtn9npbnkuz主機(jī)名:worker1狀態(tài):狀態(tài):隨時可用:漏...略...瀝干節(jié)點顯示Drain
了AVAILABILITY
。
運(yùn)行docker service ps redis
以查看swarm管理器如何更新服務(wù)的任務(wù)分配redis
:$ docker service ps redis NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR redis.1.7q92v0nr1hcgts2amcjyqg3pq redis:3.0.6 manager1 Running Running Running 4分鐘redis.2.b4hovzed7id8irg1to42egue8 redis:3.0 .6 worker2正在運(yùn)行運(yùn)行大約一分鐘\ _ redis.2.7h2l8h3q3wqy5f66hlv9ddmi6 redis:3.0.6 worker1關(guān)機(jī)關(guān)機(jī)2分鐘前redis.3.9bg7cezvedmkgg6c8yzvbhwsd redis:3.0.6 worker2正在運(yùn)行運(yùn)行4分鐘swarm管理器通過結(jié)束任務(wù)來維護(hù)所需的狀態(tài)在具有Drain
可用性的節(jié)點上創(chuàng)建具有可用性的節(jié)點上的新任務(wù)Active
。
運(yùn)行docker node update --availability active <NODE-ID>
以將已耗盡的節(jié)點返回到活動狀態(tài):$ docker node update --availability active worker1 worker1
檢查節(jié)點以查看更新的狀態(tài):$ docker節(jié)點檢查--pretty worker1 ID:38ciaotwjuritcdtn9npbnkuz主機(jī)名:worker1狀態(tài):狀態(tài):就緒可用性:活動... snip ...當(dāng)您將節(jié)點設(shè)置回Active
可用性時,它可以接收新任務(wù):
- during a service update to scale up- during a rolling update- when you set another node to `Drain` availability- when a task fails on another active node
了解如何使用群模式路由網(wǎng)格。
教程,集群管理,群集,服務(wù),流失(tutorial, cluster management, swarm, service, drain)