工作人员无法加入群集,允许的角色设置?

时间:2016-12-08 23:04:47

标签: amazon-web-services mesos dcos

我已为{3}获得3位主人和5位工作人员the latest DC/OS 1.8.7 CloudFormation template,并将其部署到我公司的AWS账户。

我的实际实现cloud-init文件位于:

这个设置工作正常,工作人员发现主人并添加自己,我可以将任务安排到工人身上,事情似乎正常。 ZooKeeper是集群等等。一切看起来都很健康,一切正常等等。

值得注意的是,三种类型实例之间唯一有效的区别是文件底部的角色:

主人

  - path: /etc/mesosphere/roles/master
    content: ""

  - path: /etc/mesosphere/roles/aws_master
    content: ""

  - path: /etc/mesosphere/roles/aws
    content: ""

公共工作者

  - path: /etc/mesosphere/roles/slave_public
    content: ""

  - path: /etc/mesosphere/roles/aws
    content: ""

服务工作者

  - path: /etc/mesosphere/roles/slave
    content: ""

  - path: /etc/mesosphere/roles/aws
    content: ""

如果我将这些角色中的任何一个更改为slaveslave_public以外的任何角色,则这些实例将永远无法加入DC / OS群集。由于我的要求在这里要求我至少需要四种类型的角色,这有点障碍。

我需要以下角色:

  • ☑主人
  • ☑公共工作者
  • ☐服务工作者
  • ☐数据工作者

由于我的网络布局和组织需求,这些额外的类型无法协商。

是否需要一些额外的步骤才能让DC / OS允许其他工作人员角色?

1 个答案:

答案 0 :(得分:3)

masterslaveslave_public参数是DC / OS安装程序已知的唯一参数。

虽然slave_public参数确实将所有节点资源静态分配给slave_public角色,但slave参数实际上将所有节点资源分配给*角色,该角色用于没有指定角色的任务。

为了将资源分配给其他角色,有两种方法:

  1. 通过修改每个代理节点上MESOS_RESOURCES文件中/var/lib/dcos/mesos-resources的json内容,将资源静态分配给自定义角色。
  2. 使用Dynamic Reservation Mesos API动态地将资源分配给自定义角色:http://mesos.apache.org/documentation/latest/reservation/