Skip to content

Commit

Permalink
Merge pull request #419 from abstractmj/dev_mars
Browse files Browse the repository at this point in the history
fix: fix the mesos deployment bscp inject; issue #366
  • Loading branch information
DeveloperJim committed Apr 10, 2020
2 parents b7a71c0 + 9dd7115 commit be190cc
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 4 deletions.
8 changes: 8 additions & 0 deletions bcs-services/bcs-webhook-server/pkg/inject/mesos_inject.go
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,14 @@ func (whSvr *WebhookServer) mesosDeploymentInject(deployment *commtypes.BcsDeplo
}
}

if whSvr.Injects.Bscp.BscpInject {
patchedDeploy, err = whSvr.MesosBscpInject.InjectDeployContent(deployment)
if err != nil {
return nil, fmt.Errorf("failed to inject bscp sidecar to deployment %s/%s, err %s",
deployment.GetNamespace(), deployment.GetName(), err.Error())
}
}

return patchedDeploy, nil
}

Expand Down
8 changes: 4 additions & 4 deletions docs/features/mesos/基于mesos的服务编排.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,13 +58,13 @@ Mesos是Apache下的开源分布式资源管理框架,它被称为是分布式
我们把约束抽象成属性,算法和参数(可选)三部分:
* 属性: 通常情况下是主机的一个属性,例如所属IDC,主机类型,运营商类型,主机名,内网IP,外网IP等.
* 算法: 即针对属性需要满足的规则,例如 匹配(LIKE), 不匹配(UNLIKE),均匀分布,唯一分布等
* 参数: 支持算法计算的参数,例如 上海南汇(属性为IDC), 172.10.1.*(属性为内网IP)......
* 参数: 支持算法计算的参数,例如 上海南汇(属性为IDC), 127.0.0.*(属性为内网IP)......
通过以上抽象,常用的部署规则都可以比较方便的用统一的形式表达出来;同时,我们也支持多种条件的组合(与和或)。

下面详细介绍约束属性,算法,参数以及约束组合。

#### 调度约束属性
属性通常是指mesos上报集群资源时主机的标签键值对,例如: IDC->上海南汇, InnerIP->172.10.1.23。主机属性可能来源于:
属性通常是指mesos上报集群资源时主机的标签键值对,例如: IDC->上海南汇, InnerIP->127.0.0.23。主机属性可能来源于:
* Mesos Slave启动时从配置或者启动参数中读取,资源上报时记录在offer中;
* Mesos Slave在运行过程中动态获取的属性,在资源上报时记录在offer中,目前尚未支持;
* Scheduler从Mesos之外的途径获取的主机的属性。
Expand All @@ -73,8 +73,8 @@ Mesos是Apache下的开源分布式资源管理框架,它被称为是分布式

* UNIQUE: 每个实例的属性取值唯一,例如:属性为IDC, 则表示每个IDC只能部署一个实例。UNIQUE算法无需参数。
* MAXPER: 属性同一取值下最多可运行的实例数,为UNIQUE的增强版(可以通过参数指定最多运行的实例数),例如:属性为hostname,参数为2,则表示同一主机上最多运行2个实例。
* CLUSTER: 限定实例部署在属性取值范围内的主机,例如属性为InnerIP, 参数为[172.10.1.2, 172.10.1.3],则表示必须部署在内网IP为172.10.1.2和172.10.1.3的主机上。
* LIKE: 通过字符串匹配的方式约束属性取值范围, 例如属性为InnerIP,参数为"172.10.1.*",则表示必须部署在内网IP前三段为172.10.1的主机上
* CLUSTER: 限定实例部署在属性取值范围内的主机,例如属性为InnerIP, 参数为[127.0.0.2, 127.0.0.3],则表示必须部署在内网IP为127.0.0.2和127.0.0.3的主机上。
* LIKE: 通过字符串匹配的方式约束属性取值范围, 例如属性为InnerIP,参数为"127.0.0.*",则表示必须部署在内网IP前三段为127.0.0的主机上
* UNLIKE: LIKE取反。
* GROUPBY: 均匀分布,例如属性为district,参数为["sh","sz",“cd”],则表示需要在三个地区均匀部署实例,如果目标实例为9,则每个地区部署3个实例,如果目前实例为8,则在两个地区各位3个实例,另外一个地区部署2个实例。

Expand Down

0 comments on commit be190cc

Please sign in to comment.