更新时间:2023-06-25 GMT+08:00

设置应用组件实例调度策略

ServiceStage支持丰富的调度策略,包括静态的全局调度策略,以及动态的运行时调度策略,您可以根据需要自由组合使用这些策略来实现业务需求。

概念阐述

  • 应用与可用区的亲和性
    • 亲和:决定应用组件部署在特定的可用区中。
    • 反亲和:决定应用组件不能部署在特定的可用区中。
  • 应用与节点间的亲和性
    • 亲和:决定应用组件部署在某些特定的主机中。
    • 反亲和:决定应用组件不能部署在某些特定的主机中。
  • 应用间的亲和性
    决定应用组件部署在相同或不同节点中。
    • 亲和:用户可根据业务需求进行应用组件的就近部署,应用组件间通信就近路由,减少网络消耗。如图1所示,APP1、APP2、APP3和APP4部署在相同节点上,为亲和性部署。
      图1 应用间亲和
    • 反亲和:同个应用组件的多个实例反亲和部署,减少宕机影响;互相干扰的应用反亲和部署,避免干扰。
      图2所示,APP1、APP2、APP3和APP4分别部署在不同节点上,这四个应用为反亲和性部署。
      图2 应用间反亲和

注意事项

在设置应用组件间的亲和性和应用组件与节点间的亲和性时,需确保不要出现互斥情况,否则应用会部署失败。例如如下互斥情况,应用将会部署失败:

  • APP1、APP2设置了应用组件间的反亲和,例如APP1部署在Node1,APP2部署在Node2。
  • APP3部署上线时,既希望与APP2亲和,又希望可以部署在不同节点如Node3上,这就造成了应用组件亲和和节点亲和间的互斥,导致最终应用组件部署失败。

操作步骤

“组件类型”“通用”且运行时为“Docker”的组件,执行以下操作:

  1. 进入应用组件实例调度策略设置界面:

    • 在部署应用组件的组件配置过程中设置应用组件实例调度策略,请执行2
    • 组件已经部署完成后设置应用组件实例调度策略,请执行3

  2. “组件配置”界面:

    1. 参考下表设置应用组件实例调度策略。

      目的

      步骤

      设置应用组件与可用区的亲和

      1. 单击“添加亲和的对象”。
      2. 对象类型选择“可用区”,选择待亲和的可用区。
      3. 单击“确定”。

      设置应用组件与可用区的反亲和

      1. 单击“添加反亲和的对象”。
      2. 对象类型选择“可用区”,选择待亲和的可用区。
      3. 单击“确定”。

      设置应用组件与节点间的亲和

      1. 单击“添加亲和的对象”。
      2. 对象类型选择“节点”,选择待亲和的节点。
      3. 单击“确定”。

      设置应用组件与节点间的反亲和

      1. 单击“添加反亲和的对象”。
      2. 对象类型选择“节点”,选择待亲和的节点。
      3. 单击“确定”。

      设置应用组件间亲和

      1. 单击“添加亲和的对象”。
      2. 对象类型选择“组件”,选择待亲和的应用组件。
      3. 单击“确定”。

        系统会将您选择的应用组件设置为亲和,部署到相同的节点中。

      设置应用组件间反亲和

      1. 单击“添加反亲和的对象”。
      2. 对象类型选择“组件”,选择待反亲和的应用组件。
      3. 设置完成后,单击“确定”。

        系统会将您选择的应用组件设置为反亲和,部署到不同的节点中。

    2. 单击“下一步 规格确认”,完成组件部署,操作结束。

  3. 登录ServiceStage控制台,选择“应用管理 > 应用列表”,可查看到所有应用。
  4. 单击应用名称,进入应用“概览”页。
  5. 在“环境视图”页签,选择“环境”,可以看到已经部署在该环境下的应用组件。
  6. 单击应用组件名称,进入应用组件实例“概览”页。
  7. 单击“调度策略”,填写以下参数。

    目的

    步骤

    设置应用组件与可用区的亲和

    1. 单击“添加亲和的对象”。
    2. 对象类型选择“可用区”,选择待亲和的可用区。
    3. 单击“确定”。

    设置应用组件与可用区的反亲和

    1. 单击“添加反亲和的对象”。
    2. 对象类型选择“可用区”,选择待亲和的可用区。
    3. 单击“确定”。

    设置应用组件与节点间的亲和

    1. 单击“添加亲和的对象”。
    2. 对象类型选择“节点”,选择待亲和的节点。
    3. 单击“确定”。

    设置应用组件与节点间的反亲和

    1. 单击“添加反亲和的对象”。
    2. 对象类型选择“节点”,选择待亲和的节点。
    3. 单击“确定”。

    设置应用组件间亲和

    1. 单击“添加亲和的对象”。
    2. 对象类型选择“组件”,选择待亲和的应用组件。
    3. 单击“确定”。

      系统会将您选择的应用组件设置为亲和,部署到相同的节点中。

    设置应用组件间反亲和

    1. 单击“添加反亲和的对象”。
    2. 对象类型选择“组件”,选择待反亲和的应用组件。
    3. 设置完成后,单击“确定”。

      系统会将您选择的应用组件设置为反亲和,部署到不同的节点中。

  8. 单击“重新部署”,完成应用组件实例调度策略设置。

其他类型的组件,执行以下操作:

  1. 进入应用组件实例调度策略设置界面:

    • 在部署应用组件的组件配置过程中设置应用组件实例调度策略,请执行6
    • 组件已经部署完成后设置应用组件实例调度策略,请执行2

  2. 登录ServiceStage控制台,选择“应用管理 > 应用列表”,可查看到所有应用。
  3. 单击应用名称,进入应用“概览”页。
  4. 在“环境视图”页签,选择“环境”,可以看到已经部署在该环境下的应用组件。
  5. 单击应用组件名称,进入应用组件实例“概览”页,单击“更新升级”。
  6. 展开“高级设置 > 部署配置”,在“调度策略”页签填写以下参数。

    目的

    步骤

    设置应用组件与可用区的亲和

    1. 单击“添加亲和的对象”。
    2. 对象类型选择“可用区”,选择待亲和的可用区。
    3. 单击“确定”。

    设置应用组件与可用区的反亲和

    1. 单击“添加反亲和的对象”。
    2. 对象类型选择“可用区”,选择待亲和的可用区。
    3. 单击“确定”。

    设置应用组件与节点间的亲和

    1. 单击“添加亲和的对象”。
    2. 对象类型选择“节点”,选择待亲和的节点。
    3. 单击“确定”。

    设置应用组件与节点间的反亲和

    1. 单击“添加反亲和的对象”。
    2. 对象类型选择“节点”,选择待亲和的节点。
    3. 单击“确定”。

    设置应用组件间亲和

    1. 单击“添加亲和的对象”。
    2. 对象类型选择“组件”,选择待亲和的应用组件。
    3. 单击“确定”。

      系统会将您选择的应用组件设置为亲和,部署到相同的节点中。

    设置应用组件间反亲和

    1. 单击“添加反亲和的对象”。
    2. 对象类型选择“组件”,选择待反亲和的应用组件。
    3. 设置完成后,单击“确定”。

      系统会将您选择的应用组件设置为反亲和,部署到不同的节点中。

  7. 完成应用组件实例调度策略设置:

    • 在部署应用组件的组件配置过程中设置应用组件实例调度策略,单击“下一步 规格确认”,完成组件部署。
    • 组件已经部署完成后设置应用组件实例调度策略,单击“重新部署”