-
用于设定策略的资源:PropagationPolicy,OverridePolicy。 执行策略相关的资源:ResourceBinding,ClusterResourceBinding, Work。 karmada 分发资源到成员集群流程如上图所示, 在 karmada 控制平面创建Resource Template 即为kubernetes原生资源,例如 Deployment,Service, configmap 等资源,同时创建 Propagation Policy 资源用来描述分发 Resource Template 到成员集群的策略,例如描述调度到哪些成员集群,使用静态权重策略等,如果有需要同时也可以创建Override Policy用来覆盖分发到不通成员集群中Resource Template中某些字段,例如修改Deployment中的容器镜像地址,容器参数等。 BindingController 根据 Resource Binding 资源内容创建 work 资源到各个成员集群的执行命名空间, work 中描述了要分到目标集群的资源内容,最终由ExeuctionController 在各个成员集群中创建被分发的资源。
-
从图中可以看出,Karmada 的资源传播分发主要由 4 个组件构成 Resource Detector/Karmada Scheduler/Binding Controller/Execution Controller