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