簡體   English   中英

docker swarm,服務任務未部署到新創建的swarm worker節點

[英]docker swarm, tasks of service are not deployed to a new created swarm worker node

已經有兩個群集節點: myvm1myvm2

這是我的服務和任務,它們已經部署到myvm1myvm2節點。

☁  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)

現在,我認為服務任務將部署到三個節點myvm1myvm2myvm3 但是,當我再次檢查任務狀態時,任務仍部署在myvm1myvm2節點中。

☁  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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM