复制服务未更新 [英] Replicated services not updating

查看:88
本文介绍了复制服务未更新的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一项服务,该服务已配置为具有3个副本(在3个节点的群集中)。当需要将服务更新到新版本时,我运行以下命令:

I have a service which I've configured to have 3 replicas (in a swarm of 3 nodes). When it comes time to update the service to a new version, I run this:

docker stack deploy -c docker-compose.yml authentication

我还尝试使用以下命令强制进行更新:

I've also tried to force an update using:

 docker service update --force authentication_authentication

一个实例将被更新,其他实例将保持相同版本。上面的更新命令永远挂在这里:

One instance will get updated, the others will remain on the same version. The update command above hangs here forever:

overall progress: 1 out of 3 tasks 
1/3: running   [==================================================>] 
2/3:   
3/3:   

在docker的systemd日志,我看到以下条目:

In the systemd logs for docker, I see these entries:

Sep 10 10:24:28 docker01 dockerd[1478]: time="2018-09-10T10:24:28.910584651-04:00" level=warning msg="rmServiceBinding 489e7143d27eaa4e4210b080f77b60018a033b29a291599d63def87fb0bed903 possible transient state ok:false entries:0 set:false "
Sep 10 10:24:28 docker01 dockerd[1478]: time="2018-09-10T10:24:28.911078594-04:00" level=warning msg="rmServiceBinding fa961a79dc139cfcc31e7ae671b6305f83887d804c4ce28aaae6f7221de08021 possible transient state ok:false entries:0 set:false "

如何获取这些服务进行更新?

How can I get these services to update?

其他详细信息:


  • Docker 18.06.0-ce

  • Ubuntu 16.04.5大TS

docker-compose.yml:

docker-compose.yml:

version: "3.1"

services:
   authentication:
    image: "<private registry>/authentication:1.0.11"
    ports:
      - 8008:8008
    deploy:
      mode: replicated
      replicas: 3
      placement:
        constraints:
          - node.platform.os==linux

在docker config文件中打开调试功能,现在在日志中反复看到:

Turned debug on in the docker config file and am now seeing this repeatedly in the log:

Sep 10 13:14:08 docker01 dockerd[1532]: time="2018-09-10T13:14:08.283136216-04:00" level=debug msg="Calling GET /v1.38/nodes"
Sep 10 13:14:08 docker01 dockerd[1532]: time="2018-09-10T13:14:08.487369825-04:00" level=debug msg="Calling GET /v1.38/services/authentication_authentication?insertDefaults=false"
Sep 10 13:14:08 docker01 dockerd[1532]: time="2018-09-10T13:14:08.488713081-04:00" level=debug msg="error handling rpc" error="rpc error: code = NotFound desc = service authentication_authentication not found" rpc=/docker.swarmkit.v1.Control/GetService
Sep 10 13:14:08 docker01 dockerd[1532]: time="2018-09-10T13:14:08.492766895-04:00" level=debug msg="Calling GET /v1.38/tasks?filters=%7B%22_up-to-date%22%3A%7B%22true%22%3Atrue%7D%2C%22service%22%3A%7B%22authentication_authentication%22%3Atrue%7D%7D"
Sep 10 13:14:08 docker01 dockerd[1532]: time="2018-09-10T13:14:08.494021275-04:00" level=debug msg="error handling rpc" error="rpc error: code = NotFound desc = service authentication_authentication not found" rpc=/docker.swarmkit.v1.Control/GetService


推荐答案

18.06.0-ce 升级到 18.06.1-ce 为我解决了此问题。

Upgrading from 18.06.0-ce to 18.06.1-ce resolved the issue for me.

这篇关于复制服务未更新的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆