sigs.k8s.io/cluster-api@v1.6.3/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 ### CAPM3 76 Cluster API Provider Metal3 77 78 ### CAPN 79 Cluster API Provider Nested 80 81 ### CAPX 82 Cluster API Provider Nutanix 83 84 ### CAPKK 85 Cluster API Provider KubeKey 86 87 ### CAPK 88 Cluster API Provider Kubevirt 89 90 ### CAPO 91 Cluster API Provider OpenStack 92 93 ### CAPOSC 94 Cluster API Provider Outscale 95 96 ### CAPOCI 97 Cluster API Provider Oracle Cloud Infrastructure (OCI) 98 99 ### CAPV 100 Cluster API Provider vSphere 101 102 ### CAPVC 103 Cluster API Provider vcluster 104 105 ### CAPVCD 106 Cluster API Provider VMware Cloud Director 107 108 ### CAPZ 109 Cluster API Provider Azure 110 111 ### Cloud provider 112 113 Or __Cloud service provider__ 114 115 Refers to an information technology (IT) company that provides computing resources (e.g. AWS, Azure, Google, etc.). 116 117 ### Cluster 118 119 A full Kubernetes deployment. See Management Cluster and Workload Cluster. 120 121 ### ClusterClass 122 123 A collection of templates that define a topology (control plane and workers) to be used to continuously reconcile one or more Clusters. 124 See [ClusterClass](../tasks/experimental-features/cluster-class/index.md) 125 126 ### Cluster API 127 128 Or __Cluster API project__ 129 130 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. 131 132 See [core provider](#core-provider) 133 134 ### Cluster API Runtime 135 136 The Cluster API execution model, a set of controllers cooperating in managing the Kubernetes cluster lifecycle. 137 138 ### Cluster Infrastructure 139 140 or __Kubernetes Cluster Infrastructure__ 141 142 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. 143 144 ### Contract 145 146 Or __Cluster API contract__ 147 148 Defines a set of rules a [provider](#provider) is expected to comply with in order to interact with Cluster API. 149 Those rules can be in the form of CustomResourceDefinition (CRD) fields and/or expected behaviors to be implemented. 150 151 ### Control plane 152 153 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: 154 155 * __Self-provisioned__: A Kubernetes control plane consisting of pods or machines wholly managed by a single Cluster API deployment. 156 * __External__ or __Managed__: A control plane offered and controlled by some system other than Cluster API (e.g., GKE, AKS, EKS, IKS). 157 158 ### Control plane provider 159 160 Refers to a [provider](#provider) that implements a solution for the management of a Kubernetes [control plane](#control-plane). 161 Control plane provider's interaction with Cluster API is based on what is defined in the [Cluster API contract](#contract). 162 163 See [KCP](#kcp). 164 165 ### Core provider 166 167 Refers to a [provider](#provider) that implements Cluster API core controllers; if you 168 consider that the first project that must be deployed in a management Cluster is Cluster API itself, it should be clear why 169 the Cluster API project is also referred to as the core provider. 170 171 See [CAPI](#cluster-api). 172 173 # D 174 --- 175 176 ### Default implementation 177 178 A feature implementation offered as part of the Cluster API project and maintained by the CAPI core team; For example 179 [KCP](#kcp) is a default implementation for a [control plane provider](#control-plane-provider). 180 181 # E 182 --- 183 184 ### External patch 185 186 [Patch](#patch) generated by an external component using [Runtime SDK](#runtime-sdk). Alternative to [inline patch](#inline-patch). 187 188 ### External patch extension 189 190 A [runtime extension](#runtime-extension) that implements a [topology mutation hook](#topology-mutation-hook). 191 192 # H 193 --- 194 195 ### Horizontal Scaling 196 197 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). 198 199 ### Host 200 201 see [Server](#server) 202 203 # I 204 --- 205 206 ### Infrastructure provider 207 208 Refers to a [provider](#provider) that implements provisioning of infrastructure/computational resources required by 209 the Cluster or by Machines (e.g. VMs, networking, etc.). 210 Infrastructure provider's interaction with Cluster API is based on what is defined in the [Cluster API contract](#contract). 211 212 Clouds infrastructure providers include AWS, Azure, or Google; while VMware, MAAS, or metal3.io can be defined as bare metal providers. 213 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. 214 215 For a complete list of providers see [Provider Implementations](providers.md). 216 217 ### Inline patch 218 219 A [patch](#patch) defined inline in a [ClusterClass](#clusterclass). An alternative to an [external patch](#external-patch). 220 221 ### In-place mutable fields 222 223 Fields which changes would only impact Kubernetes objects or/and controller behaviour 224 but they won't mutate in any way provider infrastructure nor the software running on it. In-place mutable fields 225 are propagated in place by CAPI controllers to avoid the more elaborated mechanics of a replace rollout. 226 They include metadata, MinReadySeconds, NodeDrainTimeout, NodeVolumeDetachTimeout and NodeDeletionTimeout but are 227 not limited to be expanded in the future. 228 229 ### Instance 230 231 see [Server](#server) 232 233 ### Immutability 234 235 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. 236 237 ### IPAM provider 238 239 Refers to a [provider](#provider) that allows Cluster API to interact with IPAM solutions. 240 IPAM provider's interaction with Cluster API is based on the `IPAddressClaim` and `IPAddress` API types. 241 242 # K 243 --- 244 245 ### Kubernetes-conformant 246 247 Or __Kubernetes-compliant__ 248 249 A cluster that passes the Kubernetes conformance tests. 250 251 ### k/k 252 253 Refers to the [main Kubernetes git repository](https://github.com/kubernetes/kubernetes) or the main Kubernetes project. 254 255 ### KCP 256 257 Kubeadm Control plane Provider 258 259 # L 260 --- 261 262 ### Lifecycle hook 263 A [Runtime Hook](#runtime-hook) that allows external components to interact with the lifecycle of a Cluster. 264 265 See [Implementing Lifecycle Hooks](../tasks/experimental-features/runtime-sdk/implement-lifecycle-hooks.md) 266 # M 267 --- 268 269 ### Machine 270 271 Or __Machine Resource__ 272 273 The Custom Resource for Kubernetes that represents a request to have a place to run kubelet. 274 275 See also: [Server](#server) 276 277 ### Manage a cluster 278 279 Perform create, scale, upgrade, or destroy operations on the cluster. 280 281 ### Managed Kubernetes 282 283 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. 284 285 ### Managed Topology 286 287 See [Topology](#topology) 288 289 ### Management cluster 290 291 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. 292 293 ### Multi-tenancy 294 295 Multi tenancy in Cluster API defines the capability of an infrastructure provider to manage different credentials, each 296 one of them corresponding to an infrastructure tenant. 297 298 Please note that up until v1alpha3 this concept had a different meaning, referring to the capability to run multiple 299 instances of the same provider, each one with its own credentials; starting from v1alpha4 we are disambiguating the two concepts. 300 301 See [Multi-tenancy](../developer/architecture/controllers/multi-tenancy.md) and [Support multiple instances](../developer/architecture/controllers/support-multiple-instances.md). 302 303 # N 304 --- 305 306 ### Node pools 307 308 A node pool is a group of nodes within a cluster that all have the same configuration. 309 310 # O 311 --- 312 313 ### Operating system 314 315 Or __OS__ 316 317 A generically understood combination of a kernel and system-level userspace interface, such as Linux or Windows, as opposed to a particular distribution. 318 319 # P 320 --- 321 322 ### Patch 323 324 A set of instructions describing modifications to a Kubernetes object. Examples include JSON Patch and JSON Merge Patch. 325 326 ### Pivot 327 328 Pivot is a process for moving the provider components and declared cluster-api resources from a Source Management cluster to a Target Management cluster. 329 330 The pivot process is also used for deleting a management cluster and could also be used during an upgrade of the management cluster. 331 332 ### Provider 333 334 Or __Cluster API provider__ 335 336 This term was originally used as abbreviation for [Infrastructure provider](#infrastructure-provider), but currently it is used 337 to refer to any project that can be deployed and provides functionality to the Cluster API management Cluster. 338 339 See [Bootstrap provider](#bootstrap-provider), [Control plane provider](#control-plane-provider), [Core provider](#core-provider), 340 [Infrastructure provider](#infrastructure-provider), [IPAM provider](#ipam-provider) [Runtime extension provider](#runtime-extension-provider). 341 342 ### Provider components 343 344 Refers to the YAML artifact published as part of the release process for [providers](#provider); 345 it usually includes Custom Resource Definitions (CRDs), Deployments (to run the controller manager), RBAC, etc. 346 347 In some cases, the same expression is used to refer to the instances of above components deployed in a management cluster. 348 349 See [Provider repository](#provider-repository) 350 351 ### Provider repository 352 353 Refers to the location where the YAML for [provider components](#provider-components) are hosted; usually a provider repository hosts 354 many version of provider components, one for each released version. 355 356 # R 357 --- 358 359 ### Runtime Extension 360 361 An external component which is part of a system built on top of Cluster API that can handle requests for a specific Runtime Hook. 362 363 See [Runtime SDK](#runtime-sdk) 364 365 ### Runtime Extension provider 366 367 Refers to a [provider](#provider) that implements one or more [runtime extensions](#runtime-extension). 368 Runtime Extension provider's interaction with Cluster API are based on the Open API spec for [runtime hooks](#runtime-hook). 369 370 ### Runtime Hook 371 372 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). 373 374 See [Runtime SDK](#runtime-sdk) 375 376 ### Runtime SDK 377 378 A developer toolkit required to build Runtime Hooks and Runtime Extensions. 379 380 See [Runtime SDK](../tasks/experimental-features/runtime-sdk/index.md) 381 382 # S 383 --- 384 385 ### Scaling 386 387 Unless otherwise specified, this refers to horizontal scaling. 388 389 ### Stacked control plane 390 391 A control plane node where etcd is colocated with the Kubernetes API server, and 392 is running as a static pod. 393 394 ### Server 395 396 The infrastructure that backs a [Machine Resource](#machine), typically either a cloud instance, virtual machine, or physical host. 397 398 # T 399 --- 400 401 ### Topology 402 403 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). 404 Sometimes it is also referred as a managed topology. 405 406 See [ClusterClass](#clusterclass) 407 408 409 ### Topology Mutation Hook 410 411 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). 412 413 See [Topology Mutation](../tasks/experimental-features/runtime-sdk/implement-topology-mutation-hook.md) 414 415 # W 416 --- 417 418 ### Workload Cluster 419 420 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. 421 422 ### WorkerClass 423 424 A collection of templates that define a set of worker nodes in the cluster. A ClusterClass contains zero or more WorkerClass definitions. 425 426 See [ClusterClass](#clusterclass)