日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

08_drain a node on the swarm

發布時間:2023/12/4 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 08_drain a node on the swarm 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在之前的小節,所有的節點的狀態都是運行著的可用狀態。swarm manager 可以分配任務給任意可用的節點。


有時候,你可能需要對某臺服務器進行維護,你需要配置某個節點為drain狀態,即排干該節點上面的所有運行的容器。drain狀態可以防止維護節點再收到 管理節點的指令。


它也意味著管理節點停止在該服務器上面運行任務,并把復制任務放到別的可用節點上面。

$?docker?node?ls ID???????????????????????????HOSTNAME??STATUS??AVAILABILITY??MANAGER?STATUS 1bcef6utixb0l0ca7gxuivsj0????worker2???Ready???Active 38ciaotwjuritcdtn9npbnkuz????worker1???Ready???Active e216jshn25ckzbvmwlnh5jr3g?*??manager1??Ready???Active????????Leader


如果你不在運行redis3.0.7的鏡像,回滾到原來的redis3.0.6,你可以執行以下命令

$?docker?service?create?--replicas?3?--name?redis?--update-delay?10s?redis:3.0.6 c5uo6kdmzpon37mgj9mwglcfw$?docker?service?ps?redis NAME???????????????????????????????IMAGE????????NODE?????DESIRED?STATE??CURRENT?STATE redis.1.7q92v0nr1hcgts2amcjyqg3pq??redis:3.0.6??manager1?Running????????Running?26?seconds redis.2.7h2l8h3q3wqy5f66hlv9ddmi6??redis:3.0.6??worker1??Running????????Running?26?seconds redis.3.9bg7cezvedmkgg6c8yzvbhwsd??redis:3.0.6??worker2??Running????????Running?26?seconds


當我們想要排干 worker1上面的容器,進行維護時


docker node update --availability drain <NODE-ID>?

docker?node?update?--availability?drain?worker1 worker1$?docker?node?inspect?--pretty?worker1 ID:38ciaotwjuritcdtn9npbnkuz Hostname:worker1 Status:State:ReadyAvailability:Drain ...snip...


可以看到 ?

Availability:Drain$?docker?service?ps?redis NAME????????????????????????????????????IMAGE????????NODE??????DESIRED?STATE??CURRENT?STATE???????????ERROR redis.1.7q92v0nr1hcgts2amcjyqg3pq???????redis:3.0.6??manager1??Running????????Running?4?minutes redis.2.b4hovzed7id8irg1to42egue8???????redis:3.0.6??worker2???Running????????Running?About?a?minute\_?redis.2.7h2l8h3q3wqy5f66hlv9ddmi6???redis:3.0.6??worker1???Shutdown???????Shutdown?2?minutes?ago redis.3.9bg7cezvedmkgg6c8yzvbhwsd???????redis:3.0.6??worker2???Running????????Running?4?minutes


swarm manager 會停止處于 drain狀態的節點上面的容器,并重新在可用的節點上面啟用該容器。


維護完畢,從drain狀態恢復回 ?active 狀態

$?docker?node?update?--availability?active?worker1 worker1$?docker?node?inspect?--pretty?worker1 ID:38ciaotwjuritcdtn9npbnkuz Hostname:worker1 Status:State:ReadyAvailability:Active ...snip...


當你設置一個維護的節點重新回到 active 狀態時候,它能夠重新收到如下的任務分配:


  • 服務更新擴容

  • 滾動更新

  • 當你設置別的節點為drain

  • 當另外一個節點上面的任務運行失敗


  • 轉載于:https://blog.51cto.com/binuu/1942412

    總結

    以上是生活随笔為你收集整理的08_drain a node on the swarm的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。