You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
See also this [example of scaling a Deployment](/docs/concepts/workloads/controllers/deployment/#scaling-a-deployment) in the `Deployment` documentation.
34
+
35
+
### Resizing workloads in-place
36
+
37
+
Instead of scaling the number of Replicas of a workload, you can also adjust the provided resources
38
+
of each Replica, in-place. You do this by patching the entries in one or both of the following
39
+
fields of the `Pod` or [PodTemplate](/docs/concepts/workloads/pods/#pod-templates) you want to resize:
40
+
41
+
-`spec.containers[*].resources.requests`
42
+
-`spec.containers[*].resources.limits`
43
+
44
+
{{< caution >}}
45
+
Resizing a workload in-place **without** restarting the Pods or its Containers requires Kubernetes version 1.27 or later.
46
+
{{< /caution >}}
47
+
48
+
See also this task about [resizing CPU and memory resources](/docs/tasks/configure-pod-container/resize-container-resources) assigned to Containers.
49
+
50
+
## Scaling workloads automatically
51
+
52
+
Kubernetes also supports _automatic scaling_ of workloads, which is the focus of this page.
53
+
54
+
The concept of _Autoscaling_ in Kubernetes refers to the ability to automatically update the workloads of your cluster. This can be either an object that manages a set of Pods (for example a
55
+
{{< glossary_tooltip text="Deployment" term_id="deployment" >}} or Pods or PodTemplates themselves.
56
+
57
+
Depending on _what_ is being scaled, there are also different options for _how_ to scale:
58
+
59
+
- scale the number of available instances (such as Replicas in a Deployment)
60
+
- scale the available resources on existing instances themselves (such as CPU or memory of a {{< glossary_tooltip text="Container" term_id="container" >}} in a Pod)
21
61
22
62
The first option is referred to as _horizontal scaling_, while the second is referred to as _vertical scaling_.
23
63
24
-
<!-- body -->
64
+
### Scaling workloads horizontally
25
65
26
-
## Scaling workloads horizontally
66
+
In Kubernetes, you can automatically scale a workload horizontally using a _HorizontalPodAutoscaler_ (HPA).
27
67
28
-
In Kubernetes, you can scale a workload horizontally using a _HorizontalPodAutoscaler_ (HPA).
29
68
It is implemented as a Kubernetes API resource and a {{< glossary_tooltip text="controller" term_id="controller" >}}
30
-
and periodically adjusts the number of {{< glossary_tooltip text="replicas" term_id="replica" >}}
69
+
and periodically adjusts the number of {{< glossary_tooltip text="Replicas" term_id="replica" >}}
31
70
in a workload to match observed resource utilization such as CPU or memory usage.
32
71
33
72
There is a [walkthrough example](/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough) of configuring a HorizontalPodAutoscaler for a Deployment.
34
73
35
-
## Scaling workloads vertically
74
+
### Scaling workloads vertically
75
+
76
+
_tbd_
77
+
78
+
### Event driven Autoscaling
79
+
80
+
_tbd_
81
+
82
+
### Autoscaling based on cluster size
83
+
84
+
_tbd_
85
+
86
+
### Autoscaling based on schedules
87
+
88
+
_tbd_
36
89
37
-
_tba_ about VerticalPodAutoscaler
90
+
## Scaling cluster infrastructure
38
91
39
-
##
92
+
_tbd_, short summary
40
93
41
-
## Advanced Scenarios
94
+
## Third-party Autoscalers
42
95
43
-
_tba_ about Cluster Proportional Autoscaler, KEDA, and KNative Autoscaler
96
+
_tbd_, short summary of KEDA and KNative autoscalers
0 commit comments