Mesos DC / OS如何在1.9中配置多个区域

时间:2018-01-12 10:19:10

标签: configuration mesos mesosphere zone

我想根据运行代理节点的硬件在多个区域中拆分upp我的代理节点。如何在安装时在设置配置中添加区域?

代理节点可以同时位于多个区域吗?区域a和b还是只有一个?

Mesos安装页面1.9:

  

区域内的所有代理都应使用属性标记(例如,区域:us-east-1a)

当前配置:

---
agent_list:
- 10.0.0.1
- 10.0.0.2
- 10.0.0.3
bootstrap_url: file:///opt/dcos_install_tmp
cluster_name: DC/OS
exhibitor_storage_backend: static
ip_detect_path: genconf/ip-detect
master_discovery: static
master_list:
- 10.0.0.3
process_timeout: 10000
public_agent_list:
- 10.0.0.5
resolvers:
- 8.8.8.8
- 8.8.4.4
ssh_key_path: genconf/ssh_key
ssh_port: 22
ssh_user: centos

1 个答案:

答案 0 :(得分:0)

我知道您在6个月前问过这个问题...但是,如果您仍在使用DC / OS 1.9并寻求答案:

我认为您在区域中看到的问题是由于Mesos属性未在群集的config.yaml文件中设置,而是在每个主机节点上的文件中设置的。

TL; DR,您需要在每个代理上创建或编辑/var/lib/dcos/mesos-slave-common以包含通过半冒号分隔的Mesos属性的列表,例如:MESOS_ATTRIBUTES=<key>:<value>;<key>:<value>

作为示例(您可以创建任何key:values您想要的): MESOS_ATTRIBUTES=aws_instance_type:m4.xlarge;aws_availability_zone:us-east-1b

下一步是删除从属状态并重新启动代理。这将使您可以查看(并限制提供)这些属性。请注意,删除最新的从属状态 会杀死代理上的所有正在运行的任务,因为Mesos将添加Mesos属性视为代理重新注册事件。

systemctl stop dcos-mesos-slave rm -f /var/lib/mesos/slave/meta/slaves/latest systemctl start dcos-mesos-slave

有关更新代理的明确的DC / OS文档: https://docs.mesosphere.com/1.9/administering-clusters/update-a-node/

如何使用这些属性启动Marathon任务: https://github.com/mesosphere/marathon/blob/master/docs/docs/constraints.md

希望这会有所帮助!