Glossary

This glossary is intended to be a comprehensive, standardized list of Karmada terminology. It includes technical terms that are specific to Karmada, as well as more general terms that provide useful context.

  • Aggregated API

    Aggregated API is provided by karmada-aggregated-apiserver. It aggregates all registered clusters and allows users to uniformly access different member clusters through Karmada’s cluster/proxy endpoint.

  • ClusterAffinity

    Similar to K8s, ClusterAffinity refers to a set of rules that provide the scheduler with hints on which cluster to deploy applications on.

  • GracefulEviction

    Graceful eviction means that when a workload is migrated between clusters, the eviction will be postponed until the workload becomes healthy on the new cluster or the GracePeriodSeconds is reached. Graceful eviction can help the service to be continuously serviced during multi-cluster failover, and the instance will not drop to zero.

  • OverridePolicy

    Differentiated configuration policy applicable across clusters.

  • Overrider

    Overrider refers to a series of differentiated configuration rules provided by Karmada, such as ImageOverrider overrides the image of workloads.

  • Propagate Dependencies(PropagateDeps)

    PropagateDeps means that when an application is delivered to a certain cluster, Karmada can automatically distribute its dependencies to the same cluster at the same time. Dependencies do not go through the scheduling process, but reuse the scheduling results of the main application. Dependencies of complex applications can be resolved through the resource interpreter’s InterpretDependency operation.

  • PropagationPolicy

    Widely applicable policy for multi-cluster application scheduling.

  • Pull Mode

    A mode for Karmada to manage clusters. Karmada control plane will not access the member clusters directly, but will delegate the responsibility to the karmada-agent deployed on the member clusters.

  • Push Mode

    A mode for Karmada to manage clusters. Karmada control plane will directly access kube-apiserver of member clusters to obtain cluster status and deploy applications.

  • ResourceBinding

    Unified abstraction of Karmada, which drives internal processes. It contains info of resource template and scheduling policy, and is the processing object of karmada-scheduler when scheduling applications.

  • Resource Interpreter

    In the process of distributing resources from karmada-apiserver to member clusters, Karmada needs to understand the definition structure of resources. For example, during the divided scheduling of Deployment, Karmada needs to parse the replicas field of Deployment. The resource interpreter is designed to interpret the resource structure. It includes two types of interpreters. The built-in interpreter is used to interpret common Kubernetes native resources or some well-known extended resources, implemented and maintained by the community, and the custom interpreter is used to interpret custom resources or override built-in interpreters, implemented and maintained by users.

  • Resource Model

    The resource model is the abstraction of the resource usage of the member cluster on the Karmada control plane. During the scheduling of replicas based on the cluster margin, karmada-scheduler will make decisions based on the resource model of the cluster.

  • Resource Template

    Resource template refers to the K8s native API definition including CRD, and generally refers to the template of multi-cluster applications.

  • SpreadConstraint

    Spread constraint refers to scheduling constraints based on the cluster topology, e.g. Karmada will schedule according to information such as the region, provider, and zone where the cluster is located.

  • Work

    Object at the federation layer to present a resource in member clusters. The work of different member clusters is isolated by namespace.