此外,当前云原生体系下的多云多集群,和云计算体系下的概念认知存在相当大的理念沟壑,这也导致了在云原生领域多云相关技术演进的方向,实际上是一个复杂的系统工程。在云原生体系下,既有的多云多集群,都是围绕应用为中心的管理视角,这超越了云计算下的仅仅以资源分配为中心的管理视角。不能让应用无感知的进行多云多集群部署,并不是原生的多云多集群。
资源模板 (Resource Template)
兼容原生 Kubernetes API (Deployment/ConfigMap/Secret/Service/CRD...)
部署策略 (PropagationPolicy/ClusterPropagationPolicy)
PropagationPolicy 表示将一组资源传播到一个或多个成员集群的策略,PropagationPolicy 只能在自己的命名空间传播资源。
ClusterPropagationPolicy 表示将一组资源传播到一个或多个成员集群的集群范围策略,ClusterPropagationPolicy 能够传播集群级别的资源和系统保留名称空间以外的任何名称空间中的资源。
ClusterResourceBinding/ResourceBinding
ResourceBinding 表示 Kubernetes Namespace Scope 资源与 PropagationPolicy 的绑定关系,同时也记录调度器的调度结果。
ClusterResourceBinding 表示 Kubernetes Cluster Scope 资源与 ClusterPropagationPolicy 的绑定关系,同时也记录调度器的调度结果。
差异化配置策略 (OverridePolicy/ClusterOverridePolicy)
OverridePolicy 表示将一组资源 override 到一个或多个成员集群的策略。OverridePolicy 只能在自己的命名空间 override 资源。
ClusterOverridePolicy 表示将一组资源 override 到一个或多个成员集群的集群范围策略。
Work
Work 存储了要部署在成员集群上的资源列表。收集资源在成员集群的状态。
Execution Space
每一个成员集群加入到 Karmada 中,Karmada 都会为其创建一个 namespace,这个 namespace 称之为 Execution Space。
Work 资源对象就储存在这些 Execution Space 中。