我已使用提供的模板在AWS中安装了Mesosphere DCOS。现在我想重新启动所有节点,但是将--insecure-registry参数添加到所有从节点(以及主节点),以便它们与我的docker注册表进行通信。所以我正在阅读最佳方法,这是在AWS模板的cloud-config脚本上。
因此,在AWS EC2启动配置中,我复制了主节点的配置,然后调整了用户数据,然后更新了自动缩放组并重新启动了主节点。 (很棒的答案如何在How do I use insecure docker registries with Amazon EC2 Container Service (ECS)?)
结束时这样做根据CoreOS docs的建议,这些行被添加到cloud-config中的单元部分的末尾: https://coreos.com/os/docs/latest/cloud-config.html
units
....Many lines here
- name: docker.service
drop-ins: |-
- name: 50-insecure-registry.conf
content: |
[Service]
Environment=DOCKER_OPTS='--insecure-registry="10.0.1.0/24"'
然而,主人不会重启。所以我不得不恢复我的改变。
这么多问题:
一个。为什么这个模板cloud-config中没有docker.service块?码头工人如何以及何时开始?
湾我是否需要编辑flannel_docker_opts.env文件?同样在这个cloud-config中没有提到这样的文件。但是在这个页面中提到: https://coreos.com/flannel/docs/latest/flannel-config.html
该页面末尾特别感兴趣:
事实上我可以看到像early-docker.service这样的文件,但是在cloud-config中再没有提到flannel。
但实际上我找到了上面页面中提到的服务文件:
/usr/lib64/udev/rules.d/80-docker.rules
/usr/lib64/systemd/system/early-docker.service
/usr/lib64/systemd/system/early-docker.socket
/usr/lib64/systemd/system/docker.service
/usr/lib64/systemd/system/docker.socket
/usr/lib64/systemd/system/sockets.target.wants/docker.socket
/usr/lib64/systemd/system/early-docker.target
实际上/run/flannel_docker_opts.env文件在docker.service文件中提到,但在/ run文件夹中不存在:
vi /usr/lib64/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=http://docs.docker.com
After=docker.socket early-docker.target network.target
Requires=docker.socket early-docker.target
[Service]
Environment=TMPDIR=/var/tmp
EnvironmentFile=-/run/flannel_docker_opts.env <<<<<<<<<< HERE!!!!!
MountFlags=slave
LimitNOFILE=1048576
LimitNPROC=1048576
ExecStart=/usr/lib/coreos/dockerd --daemon --host=fd:// $DOCKER_OPTS $DOCKER_OPT_BIP $DOCKER_OPT_MTU $DOCKER_OPT_IPMASQ
[Install]
℃。这个docker.service文件来自哪里!在cloud-config中没有提到它。它是CoreOS架构的一部分吗?
d。如果此docker.service是CoreOS的组成部分,为什么这个/ usr / lib64路径中的所有文件都是? CoreOS文档提到了所有文件的其他路径位置。
任何建议都将不胜感激。我现在失明了。我将尝试创建这个不存在的flannel_docker_conf.env文件。但我不确定我所做的事情是否正确。
谢谢!