我想根据运行代理节点的硬件在多个区域中拆分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
答案 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
希望这会有所帮助!