Skip to content

A.1. Glossary

Multi-Cluster Terms

Control Plane

The central system that manages the multi-cluster environment. MCM uses a Karmada-based control plane to manage several member clusters together.

What it does:

  • Registers and manages the member clusters
  • Carries out the resource propagation policies
  • Multi-cluster scheduling
  • Monitors cluster status

Member Cluster

An individual Kubernetes cluster registered with and managed by the control plane. This is where the workloads actually run.

What it is like:

  • An agent is installed for the control plane
  • It works as an independent Kubernetes cluster
  • It can be spread across several cloud and on-premises environments

Host Cluster

The cluster the control plane is installed and runs on. It is the centre of multi-cluster management.

Push Mode / Pull Mode

How the member cluster and the control plane talk to each other.

ModeDescriptionWhere it is used
Push ModeThe control plane pushes resources to the member cluster directlyWhere the network is reachable
Pull ModeThe member cluster's agent pulls resources from the control planeClusters behind a firewall

Policy Terms

PropagationPolicy

The resource that defines the rules for deploying a Kubernetes resource to several member clusters.

The main settings:

  • Choosing the target resources (the resource selector)
  • Choosing the target clusters (cluster affinity)
  • The replica scheduling strategy

Scope:

  • PropagationPolicy: namespace-scoped
  • ClusterPropagationPolicy: cluster-scoped

OverridePolicy

The resource that defines the rules for changing a resource's attributes per cluster as it is propagated to the member clusters.

Overrider types:

TypeDescription
imageOverriderChanges the container image
commandOverriderChanges the container command
argsOverriderChanges the container arguments
labelsOverriderAdds, changes, and removes labels
annotationsOverriderAdds, changes, and removes annotations
plaintextOverriderChanges any field through a JSON patch
fieldOverriderChanges a particular field value

Scope:

  • OverridePolicy: namespace-scoped
  • ClusterOverridePolicy: cluster-scoped

Resource Selector

The condition that picks the resources a policy applies to.

What it can match on:

  • API version (apps/v1, for example)
  • Kind (Deployment, for example)
  • Name (the resource name)
  • Namespace
  • Label selector (selection by label)

Cluster Affinity

The condition that picks the clusters a resource is deployed to.

Ways to choose:

  • clusterNames: naming the clusters directly
  • labelSelector: choosing by cluster label
  • fieldSelector: choosing by cluster field
  • exclude: naming the clusters to leave out

Binding and Scheduling Terms

ResourceBinding

The intermediate resource created when a propagation policy applies. It holds the binding between a resource and its target clusters.

Status:

StatusDescription
ScheduledScheduling is complete
FullyAppliedApplied to every cluster
AppliedApplied to some clusters

Scope:

  • ResourceBinding: for namespaced resources
  • ClusterResourceBinding: for cluster-scoped resources

Work

The resource that holds the manifest actually propagated to a member cluster. A separate Work object is created for each member cluster.

Replica Scheduling

How workload replicas are spread across several clusters.

TypeDescription
DuplicatedDeploys the same replica count to each cluster
DividedSplits the replicas between the clusters

How they are split:

  • Weighted: split by weight
  • Aggregated: split automatically on the clusters' resources

Basic Kubernetes Terms

Namespace

A virtual cluster that separates resources logically within a Kubernetes cluster. It can isolate resources per team, project, or environment.

Deployment

The workload resource that manages declarative updates to an application. It manages ReplicaSets and provides rolling updates and rollback.

StatefulSet

The workload resource that manages a stateful application. It provides a unique network identity and persistent storage.

DaemonSet

The workload resource that runs a copy of a pod on every node (or on some of them). It is used for log collection, monitoring agents, and the like.

Job

The workload resource that runs one-off work. The pod ends once the work completes.

CronJob

The resource that creates a Job periodically to run repeating work. It uses a Unix cron format schedule.

Pod

The smallest deployable unit Kubernetes can create and manage. It holds one or more containers.

ReplicaSet

The resource that maintains a given number of pod replicas. It is normally managed indirectly through a Deployment.

Service

The abstraction that defines a network service for a set of pods. It provides load balancing and service discovery.

Service types:

TypeDescription
ClusterIPAn in-cluster IP (the default)
NodePortExposed outward on a node port
LoadBalancerUses an external load balancer
ExternalNameMaps to an external DNS name

Ingress

The resource that manages HTTP/HTTPS routing from outside the cluster to services inside it.

ConfigMap

The resource that stores non-secret configuration data as key-value pairs. A pod can use it as environment variables, command-line arguments, or a configuration file.

Secret

The resource that stores sensitive information such as passwords, tokens, and keys. It is stored Base64-encoded.

PersistentVolumeClaim (PVC)

The resource by which a user requests storage. It binds to a PersistentVolume, dynamically or statically.

HorizontalPodAutoscaler (HPA)

The resource that adjusts a workload's replica count automatically on CPU, memory, or a custom metric.

Label

Key-value metadata attached to a resource. It is used to select and group resources.

Annotation

Non-identifying metadata attached to a resource. It holds information used by tools, libraries, and clients.


MCM Console UI Terms

Topology

The graph view that shows the relationships between clusters, namespaces, and workloads visually. It lets you take in how resources connect and how they have propagated at a glance.

Drawer

The side panel that shows a resource's detail. In overlay mode it lets you see the list and the detail at the same time.

Badge

A small label showing a resource's type or state.

BadgeMeaning
PPPropagationPolicy
CPPClusterPropagationPolicy
OPOverridePolicy
COPClusterOverridePolicy
DDeployment
SSStatefulSet
DSDaemonSet

Scope

The extent over which a policy or resource applies.

ScopeDescription
Namespace-scopedValid only within a particular namespace
Cluster-scopedValid across the whole cluster

Status Terms

Ready

The state in which a cluster or resource is working normally and can handle requests.

Healthy / Unhealthy

Shows the health of a cluster or resource.

StatusDescription
HealthyWorking normally
UnhealthyA problem has arisen; attention is needed

Propagation Status

Shows how far a resource has propagated to the member clusters.

StatusDescription
PropagatingThe resource is being propagated to the target clusters
CompletedPropagated to every cluster
FailedThe propagation failed
SuspendedThe propagation is suspended

Conditions

The list of conditions showing a resource's current state. Each condition carries a type, a state (True/False/Unknown), a reason, and a message.


Abbreviations

AbbreviationFull nameDescription
MCMMulti-Cluster ManagementManaging several clusters
K8sKubernetesThe container orchestration platform
APIApplication Programming InterfaceThe programming interface of an application
YAMLYAML Ain't Markup LanguageA data serialisation language
JSONJavaScript Object NotationA data interchange format
RBACRole-Based Access ControlAccess control based on roles
CRDCustom Resource DefinitionThe definition of a custom resource
CRCustom ResourceA custom resource
PVPersistentVolumeA persistent volume
PVCPersistentVolumeClaimA persistent volume claim
HPAHorizontalPodAutoscalerThe horizontal pod autoscaler
DNSDomain Name SystemThe domain name system
TLSTransport Layer SecurityTransport layer security
SSLSecure Sockets LayerThe secure sockets layer