sigs.k8s.io/cluster-api@v1.7.1/docs/book/src/reference/glossary.md (about) 1 # Table of Contents 2 3 [A](#a) | [B](#b) | [C](#c) | [D](#d) | [E](#e) | [H](#h) | [I](#i) | [K](#k) | [L](#l)| [M](#m) | [N](#n) | [O](#o) | [P](#p) | [R](#r) | [S](#s) | [T](#t) | [W](#w) 4 5 # A 6 --- 7 8 ### Add-ons 9 10 Services beyond the fundamental components of Kubernetes. 11 12 * __Core Add-ons__: Addons that are required to deploy a Kubernetes-conformant cluster: DNS, kube-proxy, CNI. 13 * __Additional Add-ons__: Addons that are not required for a Kubernetes-conformant cluster (e.g. metrics/Heapster, Dashboard). 14 15 # B 16 --- 17 18 ### Bootstrap 19 20 The process of turning a server into a Kubernetes node. This may involve assembling data to provide when creating the server that backs the Machine, as well as runtime configuration of the software running on that server. 21 22 ### Bootstrap cluster 23 24 A temporary cluster that is used to provision a Target Management cluster. 25 26 ### Bootstrap provider 27 28 Refers to a [provider](#provider) that implements a solution for the [bootstrap](#bootstrap) process. 29 Bootstrap provider's interaction with Cluster API is based on what is defined in the [Cluster API contract](#contract). 30 31 See [CABPK](#cabpk). 32 33 # C 34 --- 35 36 ### CAEP 37 Cluster API Enhancement Proposal - patterned after [KEP](https://git.k8s.io/enhancements/keps/README.md). See [template](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/YYYYMMDD-template.md) 38 39 ### CAPI 40 Core Cluster API 41 42 ### CAPA 43 Cluster API Provider AWS 44 45 ### CABPK 46 Cluster API Bootstrap Provider Kubeadm 47 48 ### CABPOCNE 49 Cluster API Bootstrap Provider Oracle Cloud Native Environment (OCNE) 50 51 ### CACPOCNE 52 Cluster API Control Plane Provider Oracle Cloud Native Environment (OCNE) 53 54 ### CAPC 55 Cluster API Provider CloudStack 56 57 ### CAPD 58 Cluster API Provider Docker 59 60 ### CAPDO 61 Cluster API Provider DigitalOcean 62 63 ### CAPG 64 Cluster API Google Cloud Provider 65 66 ### CAPH 67 Cluster API Provider Hetzner 68 69 ### CAPHV 70 Cluster API Provider Hivelocity 71 72 ### CAPIBM 73 Cluster API Provider IBM Cloud 74 75 ### CAPIO 76 Cluster API Operator 77 78 ### CAPM3 79 Cluster API Provider Metal3 80 81 ### CAPN 82 Cluster API Provider Nested 83 84 ### CAPX 85 Cluster API Provider Nutanix 86 87 ### CAPKK 88 Cluster API Provider KubeKey 89 90 ### CAPK 91 Cluster API Provider Kubevirt 92 93 ### CAPO 94 Cluster API Provider OpenStack 95 96 ### CAPOSC 97 Cluster API Provider Outscale 98 99 ### CAPOCI 100 Cluster API Provider Oracle Cloud Infrastructure (OCI) 101 102 ### CAPV 103 Cluster API Provider vSphere 104 105 ### CAPVC 106 Cluster API Provider vcluster 107 108 ### CAPVCD 109 Cluster API Provider VMware Cloud Director 110 111 ### CAPZ 112 Cluster API Provider Azure 113 114 ### CAIPAMIC 115 Cluster API IPAM Provider In Cluster 116 117 ### Cloud provider 118 119 Or __Cloud service provider__ 120 121 Refers to an information technology (IT) company that provides computing resources (e.g. AWS, Azure, Google, etc.). 122 123 ### Cluster 124 125 A full Kubernetes deployment. See Management Cluster and Workload Cluster. 126 127 ### ClusterClass 128 129 A collection of templates that define a topology (control plane and workers) to be used to continuously reconcile one or more Clusters. 130 See [ClusterClass](../tasks/experimental-features/cluster-class/index.md) 131 132 ### Cluster API 133 134 Or __Cluster API project__ 135 136 The Cluster API sub-project of the SIG-cluster-lifecycle. It is also used to refer to the software components, APIs, and community that produce them. 137 138 See [core provider](#core-provider) 139 140 ### Cluster API Runtime 141 142 The Cluster API execution model, a set of controllers cooperating in managing the Kubernetes cluster lifecycle. 143 144 ### Cluster Infrastructure 145 146 or __Kubernetes Cluster Infrastructure__ 147 148 Defines the **infrastructure that supports a Kubernetes cluster**, like e.g. VPC, security groups, load balancers, etc. Please note that in the context of managed Kubernetes some of those components are going to be provided by the corresponding abstraction for a specific Cloud provider (EKS, OKE, AKS etc), and thus Cluster API should not take care of managing a subset or all those components. 149 150 ### Contract 151 152 Or __Cluster API contract__ 153 154 Defines a set of rules a [provider](#provider) is expected to comply with in order to interact with Cluster API. 155 Those rules can be in the form of CustomResourceDefinition (CRD) fields and/or expected behaviors to be implemented. 156 157 ### Control plane 158 159 The set of Kubernetes services that form the basis of a cluster. See also [https://kubernetes.io/docs/concepts/#kubernetes-control-plane](https://kubernetes.io/docs/concepts/#kubernetes-control-plane) There are two variants: 160 161 * __Self-provisioned__: A Kubernetes control plane consisting of pods or machines wholly managed by a single Cluster API deployment. 162 * __External__ or __Managed__: A control plane offered and controlled by some system other than Cluster API (e.g., GKE, AKS, EKS, IKS). 163 164 ### Control plane provider 165 166 Refers to a [provider](#provider) that implements a solution for the management of a Kubernetes [control plane](#control-plane). 167 Control plane provider's interaction with Cluster API is based on what is defined in the [Cluster API contract](#contract). 168 169 See [KCP](#kcp). 170 171 ### Core provider 172 173 Refers to a [provider](#provider) that implements Cluster API core controllers; if you 174 consider that the first project that must be deployed in a management Cluster is Cluster API itself, it should be clear why 175 the Cluster API project is also referred to as the core provider. 176 177 See [CAPI](#cluster-api). 178 179 # D 180 --- 181 182 ### Default implementation 183 184 A feature implementation offered as part of the Cluster API project and maintained by the CAPI core team; For example 185 [KCP](#kcp) is a default implementation for a [control plane provider](#control-plane-provider). 186 187 # E 188 --- 189 190 ### External patch 191 192 [Patch](#patch) generated by an external component using [Runtime SDK](#runtime-sdk). Alternative to [inline patch](#inline-patch). 193 194 ### External patch extension 195 196 A [runtime extension](#runtime-extension) that implements a [topology mutation hook](#topology-mutation-hook). 197 198 # H 199 --- 200 201 ### Horizontal Scaling 202 203 The ability to add more machines based on policy and well-defined metrics. For example, add a machine to a cluster when CPU load average > (X) for a period of time (Y). 204 205 ### Host 206 207 see [Server](#server) 208 209 # I 210 --- 211 212 ### Infrastructure provider 213 214 Refers to a [provider](#provider) that implements provisioning of infrastructure/computational resources required by 215 the Cluster or by Machines (e.g. VMs, networking, etc.). 216 Infrastructure provider's interaction with Cluster API is based on what is defined in the [Cluster API contract](#contract). 217 218 Clouds infrastructure providers include AWS, Azure, or Google; while VMware, MAAS, or metal3.io can be defined as bare metal providers. 219 When there is more than one way to obtain resources from the same infrastructure provider (e.g. EC2 vs. EKS in AWS) each way is referred to as a variant. 220 221 For a complete list of providers see [Provider Implementations](providers.md). 222 223 ### Inline patch 224 225 A [patch](#patch) defined inline in a [ClusterClass](#clusterclass). An alternative to an [external patch](#external-patch). 226 227 ### In-place mutable fields 228 229 Fields which changes would only impact Kubernetes objects or/and controller behaviour 230 but they won't mutate in any way provider infrastructure nor the software running on it. In-place mutable fields 231 are propagated in place by CAPI controllers to avoid the more elaborated mechanics of a replace rollout. 232 They include metadata, MinReadySeconds, NodeDrainTimeout, NodeVolumeDetachTimeout and NodeDeletionTimeout but are 233 not limited to be expanded in the future. 234 235 ### Instance 236 237 see [Server](#server) 238 239 ### Immutability 240 241 A resource that does not mutate. In Kubernetes we often state the instance of a running pod is immutable or does not change once it is run. In order to make a change, a new pod is run. In the context of [Cluster API](#cluster-api) we often refer to a running instance of a [Machine](#machine) as being immutable, from a [Cluster API](#cluster-api) perspective. 242 243 ### IPAM provider 244 245 Refers to a [provider](#provider) that allows Cluster API to interact with IPAM solutions. 246 IPAM provider's interaction with Cluster API is based on the `IPAddressClaim` and `IPAddress` API types. 247 248 # K 249 --- 250 251 ### Kubernetes-conformant 252 253 Or __Kubernetes-compliant__ 254 255 A cluster that passes the Kubernetes conformance tests. 256 257 ### k/k 258 259 Refers to the [main Kubernetes git repository](https://github.com/kubernetes/kubernetes) or the main Kubernetes project. 260 261 ### KCP 262 263 Kubeadm Control plane Provider 264 265 # L 266 --- 267 268 ### Lifecycle hook 269 A [Runtime Hook](#runtime-hook) that allows external components to interact with the lifecycle of a Cluster. 270 271 See [Implementing Lifecycle Hooks](../tasks/experimental-features/runtime-sdk/implement-lifecycle-hooks.md) 272 # M 273 --- 274 275 ### Machine 276 277 Or __Machine Resource__ 278 279 The Custom Resource for Kubernetes that represents a request to have a place to run kubelet. 280 281 See also: [Server](#server) 282 283 ### Manage a cluster 284 285 Perform create, scale, upgrade, or destroy operations on the cluster. 286 287 ### Managed Kubernetes 288 289 Managed Kubernetes refers to any Kubernetes cluster provisioning and maintenance abstraction, usually exposed as an API, that is natively available in a Cloud provider. For example: [EKS](https://aws.amazon.com/eks/), [OKE](https://www.oracle.com/cloud/cloud-native/container-engine-kubernetes/), [AKS](https://azure.microsoft.com/en-us/products/kubernetes-service), [GKE](https://cloud.google.com/kubernetes-engine), [IBM Cloud Kubernetes Service](https://www.ibm.com/cloud/kubernetes-service), [DOKS](https://www.digitalocean.com/products/kubernetes), and many more throughout the Kubernetes Cloud Native ecosystem. 290 291 ### Managed Topology 292 293 See [Topology](#topology) 294 295 ### Management cluster 296 297 The cluster where one or more Infrastructure Providers run, and where resources (e.g. Machines) are stored. Typically referred to when you are provisioning multiple workload clusters. 298 299 ### Multi-tenancy 300 301 Multi tenancy in Cluster API defines the capability of an infrastructure provider to manage different credentials, each 302 one of them corresponding to an infrastructure tenant. 303 304 Please note that up until v1alpha3 this concept had a different meaning, referring to the capability to run multiple 305 instances of the same provider, each one with its own credentials; starting from v1alpha4 we are disambiguating the two concepts. 306 307 See [Multi-tenancy](../developer/architecture/controllers/multi-tenancy.md) and [Support multiple instances](../developer/architecture/controllers/support-multiple-instances.md). 308 309 # N 310 --- 311 312 ### Node pools 313 314 A node pool is a group of nodes within a cluster that all have the same configuration. 315 316 # O 317 --- 318 319 ### Operating system 320 321 Or __OS__ 322 323 A generically understood combination of a kernel and system-level userspace interface, such as Linux or Windows, as opposed to a particular distribution. 324 325 # P 326 --- 327 328 ### Patch 329 330 A set of instructions describing modifications to a Kubernetes object. Examples include JSON Patch and JSON Merge Patch. 331 332 ### Pivot 333 334 Pivot is a process for moving the provider components and declared cluster-api resources from a Source Management cluster to a Target Management cluster. 335 336 The pivot process is also used for deleting a management cluster and could also be used during an upgrade of the management cluster. 337 338 ### Provider 339 340 Or __Cluster API provider__ 341 342 This term was originally used as abbreviation for [Infrastructure provider](#infrastructure-provider), but currently it is used 343 to refer to any project that can be deployed and provides functionality to the Cluster API management Cluster. 344 345 See [Bootstrap provider](#bootstrap-provider), [Control plane provider](#control-plane-provider), [Core provider](#core-provider), 346 [Infrastructure provider](#infrastructure-provider), [IPAM provider](#ipam-provider) [Runtime extension provider](#runtime-extension-provider). 347 348 ### Provider components 349 350 Refers to the YAML artifact published as part of the release process for [providers](#provider); 351 it usually includes Custom Resource Definitions (CRDs), Deployments (to run the controller manager), RBAC, etc. 352 353 In some cases, the same expression is used to refer to the instances of above components deployed in a management cluster. 354 355 See [Provider repository](#provider-repository) 356 357 ### Provider repository 358 359 Refers to the location where the YAML for [provider components](#provider-components) are hosted; usually a provider repository hosts 360 many version of provider components, one for each released version. 361 362 # R 363 --- 364 365 ### Runtime Extension 366 367 An external component which is part of a system built on top of Cluster API that can handle requests for a specific Runtime Hook. 368 369 See [Runtime SDK](#runtime-sdk) 370 371 ### Runtime Extension provider 372 373 Refers to a [provider](#provider) that implements one or more [runtime extensions](#runtime-extension). 374 Runtime Extension provider's interaction with Cluster API are based on the Open API spec for [runtime hooks](#runtime-hook). 375 376 ### Runtime Hook 377 378 A single, well identified, extension point allowing applications built on top of Cluster API to hook into specific moments of the [Cluster API Runtime](#cluster-api-runtime), e.g. [BeforeClusterUpgrade](../tasks/experimental-features/runtime-sdk/implement-lifecycle-hooks.md#beforeclusterupgrade), [TopologyMutationHook](#topology-mutation-hook). 379 380 See [Runtime SDK](#runtime-sdk) 381 382 ### Runtime SDK 383 384 A developer toolkit required to build Runtime Hooks and Runtime Extensions. 385 386 See [Runtime SDK](../tasks/experimental-features/runtime-sdk/index.md) 387 388 # S 389 --- 390 391 ### Scaling 392 393 Unless otherwise specified, this refers to horizontal scaling. 394 395 ### Stacked control plane 396 397 A control plane node where etcd is colocated with the Kubernetes API server, and 398 is running as a static pod. 399 400 ### Server 401 402 The infrastructure that backs a [Machine Resource](#machine), typically either a cloud instance, virtual machine, or physical host. 403 404 # T 405 --- 406 407 ### Topology 408 409 A field in the Cluster object spec that allows defining and managing the shape of the Cluster's control plane and worker machines from a single point of control. The Cluster's topology is based on a [ClusterClass](#clusterclass). 410 Sometimes it is also referred as a managed topology. 411 412 See [ClusterClass](#clusterclass) 413 414 415 ### Topology Mutation Hook 416 417 A [Runtime Hook](#runtime-hook) that allows external components to generate [patches](#patch) for customizing Kubernetes objects that are part of a [Cluster topology](#topology). 418 419 See [Topology Mutation](../tasks/experimental-features/runtime-sdk/implement-topology-mutation-hook.md) 420 421 # W 422 --- 423 424 ### Workload Cluster 425 426 A cluster created by a ClusterAPI controller, which is *not* a bootstrap cluster, and is meant to be used by end-users, as opposed to by CAPI tooling. 427 428 ### WorkerClass 429 430 A collection of templates that define a set of worker nodes in the cluster. A ClusterClass contains zero or more WorkerClass definitions. 431 432 See [ClusterClass](#clusterclass)