cloudstor重定位如何工作

时间:2017-08-23 20:54:43

标签: docker docker-swarm

我使用docker-for-aws和cloudstor遇到了一个奇怪的问题。 所以我使用像这样的cloudstor手动创建2个卷

docker volume create \
  -d "cloudstor:aws" \
  --opt ebstype=gp2 \
  --opt size=15 \
  --opt iops=180 \
  --opt backing=relocatable \
  ci_ping3-1-vol

docker volume create \
  -d "cloudstor:aws" \
  --opt ebstype=gp2 \
  --opt size=15 \
  --opt iops=180 \
  --opt backing=relocatable \
  ci_ping3-2-vol

我使用一个名为ci的堆栈来测试它

version: "3.3"

services:
  ping3:
    image: alpine
    command: ping docker.com
    volumes:
      - ping_vol:/mydata
    deploy:
      replicas: 2
volumes:
  ping_vol:
    external:
      name: "{{.Service.Name}}-{{.Task.Slot}}-vol"

我的swarm由1名经理和1名工人组成(仅供测试)。然后,我在每个副本中执行bash并修改/mydata文件夹中的文件。我去了aws控制台并杀死了工作实例,迫使服务重新定位。当我查看我的EBS控制台时,我可以看到当卷需要从AZ移动时如何创建第二个驱动器,但是一旦服务再次运行,/mydata内的数据就不是我所期望的。

我在终止机器之前手动调用sync,我试图缩小以强制更优雅的服务终止,但/mydata上的结果绝不是我所期望的。奇怪的是,似乎有时候数据充满了旧测试的内容...所以我甚至不知道如何调试这个:(

0 个答案:

没有答案