[英]docker swarm, tasks of service are not deployed to a new created swarm worker node
已經有兩個群集節點: myvm1
和myvm2
。
這是我的服務和任務,它們已經部署到myvm1
和myvm2
節點。
☁ docker-research [master] ⚡ docker service ls
ID NAME MODE REPLICAS IMAGE PORTS
pwjxzu80q1vx getstartedlab_web replicated 5/5 novaline/get-started:part2 *:4000->80/tcp
☁ docker-research [master] ⚡ docker service ps getstartedlab_web
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
32c88logpvar getstartedlab_web.1 novaline/get-started:part2 myvm2 Running Running 3 hours ago
3lpx3gotggi8 getstartedlab_web.2 novaline/get-started:part2 myvm1 Running Running 3 hours ago
meuwm1dhxeba getstartedlab_web.3 novaline/get-started:part2 myvm2 Running Running 3 hours ago
jrxs9xbjxz56 getstartedlab_web.4 novaline/get-started:part2 myvm1 Running Running 33 minutes ago
oocrasndz98s getstartedlab_web.5 novaline/get-started:part2 myvm1 Running Running 33 minutes ago
現在,我想添加一個新的swarm worker節點myvm3
這是我的步驟:
創建新的VM- myvm3
:
docker-machine create -d virtualbox myvm3
將myvm3
添加到myvm3
作為工作節點:
☁ docker-research [master] ⚡ docker-machine ssh myvm3 'docker swarm join --token SWMTKN-1-002x9ve85tv0jpodgd0y1244itb2knyr3b6j4qn6qiepl7yjx7-4p08k808lz9eqtqu1szdki3md 192.168.99.100:2377'
This node joined a swarm as a worker.
檢查群節點:
☁ docker-research [master] ⚡ docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION
qciplvmrh6j758hs8mi8jyqdz * myvm1 Ready Active Leader 18.05.0-ce
5xxrbayq0n0068awdctneyifg myvm2 Ready Active 18.05.0-ce
gfuc93zs1k45evlhlxqfd2qo9 myvm3 Ready Active 18.05.0-ce
再次部署:
☁ docker-research [master] ⚡ docker stack deploy getstartedlab -c ./get-started-v2/docker-compose.yml
Updating service getstartedlab_web (id: pwjxzu80q1vxejc3d3hzoc89l)
現在,我認為服務任務將部署到三個節點myvm1
, myvm2
和myvm3
。 但是,當我再次檢查任務狀態時,任務仍部署在myvm1
和myvm2
節點中。
☁ docker-research [master] ⚡ docker service ps getstartedlab_web
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
32c88logpvar getstartedlab_web.1 novaline/get-started:part2 myvm2 Running Running 4 hours ago
3lpx3gotggi8 getstartedlab_web.2 novaline/get-started:part2 myvm1 Running Running 4 hours ago
meuwm1dhxeba getstartedlab_web.3 novaline/get-started:part2 myvm2 Running Running 4 hours ago
jrxs9xbjxz56 getstartedlab_web.4 novaline/get-started:part2 myvm1 Running Running about an hour ago
oocrasndz98s getstartedlab_web.5 novaline/get-started:part2 myvm1 Running Running about an hour ago
如果要在所有節點上部署服務,該怎么辦?
您必須將服務部署為全局模式,一旦新節點可用,調度程序就會在所有可用節點上放置一個任務。 添加方式:全局,如下所示,在撰寫文件中的deploy標簽中(以粗體突出顯示)。 它應該在所有可用節點上創建任務。 希望這可以幫助。
服務:flask-app:圖片:127.0.0.1:5003/flask-app:最新版本:。 depends_on:-flask-mysql命令:python3 /opt/app.py端口:-“ 5001:5000”網絡:-覆蓋部署:模式:全局
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.