Skip to content

Commit 3203231

Browse files
committed
Move HorizontalPodAutoscaler concept page
Move the HPA page to be a concept page alongside VPA.
1 parent a2ed1db commit 3203231

File tree

11 files changed

+22
-31
lines changed

11 files changed

+22
-31
lines changed

content/en/docs/concepts/workloads/autoscaling.md

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Autoscaling Workloads
33
description: >-
44
With autoscaling, you can automatically update your workloads in one way or another. This allows your cluster to react to changes in resource demand more elastically and efficiently.
55
content_type: concept
6-
weight: 40
6+
weight: 50
77
---
88

99
<!-- overview -->
@@ -42,7 +42,7 @@ object that manages a set of Pods (for example a
4242

4343
### Scaling workloads horizontally
4444

45-
In Kubernetes, you can automatically scale a workload horizontally using a _HorizontalPodAutoscaler_ (HPA).
45+
In Kubernetes, you can automatically scale a workload horizontally using a [HorizontalPodAutoscaler](/docs/concepts/workloads/autoscaling/horizontal-pod-autoscale/) (HPA).
4646

4747
It is implemented as a Kubernetes API resource and a {{< glossary_tooltip text="controller" term_id="controller" >}}
4848
and periodically adjusts the number of {{< glossary_tooltip text="replicas" term_id="replica" >}}
@@ -54,9 +54,8 @@ There is a [walkthrough tutorial](/docs/tasks/run-application/horizontal-pod-aut
5454

5555
{{< feature-state for_k8s_version="v1.25" state="stable" >}}
5656

57-
You can automatically scale a workload vertically using a _VerticalPodAutoscaler_ (VPA).
58-
Unlike the HPA, the VPA doesn't come with Kubernetes by default, but is a separate project
59-
that can be found [on GitHub](https://github.com/kubernetes/autoscaler/tree/9f87b78df0f1d6e142234bb32e8acbd71295585a/vertical-pod-autoscaler).
57+
You can automatically scale a workload vertically using a [VerticalPodAutoscaler](/docs/concepts/workloads/autoscaling/vertical-pod-autoscale/) (VPA).
58+
Unlike the HPA, the VPA doesn't come with Kubernetes by default, but is a an add-on that you or a cluster administrator may need to deploy before you can use it.
6059

6160
Once installed, it allows you to create {{< glossary_tooltip text="CustomResourceDefinitions" term_id="customresourcedefinition" >}}
6261
(CRDs) for your workloads which define _how_ and _when_ to scale the resources of the managed replicas.
@@ -66,17 +65,6 @@ You will need to have the [Metrics Server](https://github.com/kubernetes-sigs/me
6665
installed to your cluster for the VPA to work.
6766
{{< /note >}}
6867

69-
At the moment, the VPA can operate in four different modes:
70-
71-
{{< table caption="Different modes of the VPA" >}}
72-
Mode | Description
73-
:----|:-----------
74-
`Auto` | Currently `Recreate`. This might change to in-place updates in the future.
75-
`Recreate` | The VPA assigns resource requests on pod creation as well as updates them on existing pods by evicting them when the requested resources differ significantly from the new recommendation
76-
`Initial` | The VPA only assigns resource requests on pod creation and never changes them later.
77-
`Off` | The VPA does not automatically change the resource requirements of the pods. The recommendations are calculated and can be inspected in the VPA object.
78-
{{< /table >}}
79-
8068
#### In-place pod vertical scaling
8169

8270
{{< feature-state feature_gate_name="InPlacePodVerticalScaling" >}}

content/en/docs/tasks/run-application/horizontal-pod-autoscale.md renamed to content/en/docs/concepts/workloads/autoscaling/horizontal-pod-autoscale.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ feature:
99
description: >
1010
Scale your application up and down with a simple command, with a UI, or automatically based on CPU usage.
1111
content_type: concept
12-
weight: 90
12+
weight: 60
1313
math: true
1414
---
1515

@@ -665,6 +665,7 @@ guidelines, which cover this exact use case.
665665
If you configure autoscaling in your cluster, you may also want to consider using
666666
[node autoscaling](/docs/concepts/cluster-administration/node-autoscaling/)
667667
to ensure you are running the right number of nodes.
668+
You can also read more about [_vertical_ Pod autoscaling](/docs/concepts/workloads/autoscaling/vertical-pod-autoscale/).
668669

669670
For more information on HorizontalPodAutoscaler:
670671

content/en/docs/concepts/workloads/autoscaling/vertical-pod-autoscale.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ feature:
88
description: >
99
Automatically adjust resource requests and limits based on actual usage patterns.
1010
content_type: concept
11-
weight: 90
11+
weight: 70
1212
math: true
1313
---
1414

@@ -243,4 +243,4 @@ See [requests and limits](/docs/concepts/configuration/manage-resources-containe
243243
If you configure autoscaling in your cluster, you may also want to consider using
244244
[node autoscaling](/docs/concepts/cluster-administration/node-autoscaling/)
245245
to ensure you are running the right number of nodes.
246-
You can also read more about [_horizontal_ Pod autoscaling](/docs/tasks/run-application/horizontal-pod-autoscale/).
246+
You can also read more about [_horizontal_ Pod autoscaling](/docs/concepts/workloads/autoscaling/horizontal-pod-autoscale/).

content/en/docs/concepts/workloads/controllers/deployment.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -637,7 +637,7 @@ The output is similar to this:
637637
deployment.apps/nginx-deployment scaled
638638
```
639639

640-
Assuming [horizontal Pod autoscaling](/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/) is enabled
640+
Assuming [horizontal Pod autoscaling](/docs/concepts/workloads/autoscaling/horizontal-pod-autoscale/) is enabled
641641
in your cluster, you can set up an autoscaler for your Deployment and choose the minimum and maximum number of
642642
Pods you want to run based on the CPU utilization of your existing Pods.
643643

@@ -1135,7 +1135,7 @@ deployment --replicas=X`, and then you update that Deployment based on a manifes
11351135
(for example: by running `kubectl apply -f deployment.yaml`),
11361136
then applying that manifest overwrites the manual scaling that you previously did.
11371137

1138-
If a [HorizontalPodAutoscaler](/docs/tasks/run-application/horizontal-pod-autoscale/) (or any
1138+
If a [HorizontalPodAutoscaler](/docs/concepts/workloads/autoscaling/horizontal-pod-autoscale/) (or any
11391139
similar API for horizontal scaling) is managing scaling for a Deployment, don't set `.spec.replicas`.
11401140

11411141
Instead, allow the Kubernetes

content/en/docs/concepts/workloads/controllers/statefulset.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -561,7 +561,7 @@ based on a manifest (for example: by running `kubectl apply -f
561561
statefulset.yaml`), then applying that manifest overwrites the manual scaling
562562
that you previously did.
563563

564-
If a [HorizontalPodAutoscaler](/docs/tasks/run-application/horizontal-pod-autoscale/)
564+
If a [HorizontalPodAutoscaler](/docs/concepts/workloads/autoscaling/horizontal-pod-autoscale/)
565565
(or any similar API for horizontal scaling) is managing scaling for a
566566
Statefulset, don't set `.spec.replicas`. Instead, allow the Kubernetes
567567
{{<glossary_tooltip text="control plane" term_id="control-plane" >}} to manage

content/en/docs/concepts/workloads/management.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -403,7 +403,7 @@ Now your nginx replicas will be scaled up and down as needed, automatically.
403403

404404
For more information, please see [kubectl scale](/docs/reference/kubectl/generated/kubectl_scale/),
405405
[kubectl autoscale](/docs/reference/kubectl/generated/kubectl_autoscale/) and
406-
[horizontal pod autoscaler](/docs/tasks/run-application/horizontal-pod-autoscale/) document.
406+
[horizontal pod autoscaler](/docs/concepts/workloads/autoscaling/horizontal-pod-autoscale/) document.
407407

408408
## In-place updates of resources
409409

content/en/docs/reference/glossary/horizontal-pod-autoscaler.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: Horizontal Pod Autoscaler
33
id: horizontal-pod-autoscaler
44
date: 2018-04-12
5-
full_link: /docs/tasks/run-application/horizontal-pod-autoscale/
5+
full_link: docs/concepts/workloads/autoscaling/horizontal-pod-autoscale/
66
short_description: >
77
Object that automatically scales the number of pod replicas based on targeted resource utilization or custom metric targets.
88

content/en/docs/tasks/debug/debug-cluster/resource-metrics-pipeline.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ including metrics for CPU and memory. If you deploy the Metrics API into your c
1515
the Kubernetes API can then query for this information, and you can use Kubernetes' access control
1616
mechanisms to manage permissions to do so.
1717

18-
The [HorizontalPodAutoscaler](/docs/tasks/run-application/horizontal-pod-autoscale/) (HPA) and
19-
[VerticalPodAutoscaler](https://github.com/kubernetes/autoscaler/tree/master/vertical-pod-autoscaler#readme) (VPA)
18+
The [HorizontalPodAutoscaler](/docs/concepts/workloads/autoscaling/horizontal-pod-autoscale/) (HPA) and
19+
[VerticalPodAutoscaler](/docs/concepts/workloads/autoscaling/vertical-pod-autoscale/) (VPA)
2020
use data from the metrics API to adjust workload replicas and resources to meet customer demand.
2121

2222
You can also view the resource metrics using the

content/en/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ min-kubernetes-server-version: 1.23
1212

1313
<!-- overview -->
1414

15-
A [HorizontalPodAutoscaler](/docs/tasks/run-application/horizontal-pod-autoscale/)
15+
A [HorizontalPodAutoscaler](/docs/concepts/workloads/autoscaling/horizontal-pod-autoscale/)
1616
(HPA for short)
1717
automatically updates a workload resource (such as
1818
a {{< glossary_tooltip text="Deployment" term_id="deployment" >}} or
@@ -93,7 +93,7 @@ The Deployment then updates the ReplicaSet - this is part of how all Deployments
9393
and then the ReplicaSet either adds or removes Pods based on the change to its `.spec`.
9494

9595
Since each pod requests 200 milli-cores by `kubectl run`, this means an average CPU usage of 100 milli-cores.
96-
See [Algorithm details](/docs/tasks/run-application/horizontal-pod-autoscale/#algorithm-details) for more details
96+
See [Algorithm details](/docs/concepts/workloads/autoscaling/horizontal-pod-autoscale/#algorithm-details) for more details
9797
on the algorithm.
9898

9999

content/en/docs/tutorials/kubernetes-basics/scale/scale-intro.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ _Scaling is accomplished by changing the number of replicas in a Deployment._
5959

6060
Scaling out a Deployment will ensure new Pods are created and scheduled to Nodes
6161
with available resources. Scaling will increase the number of Pods to the new desired
62-
state. Kubernetes also supports [autoscaling](/docs/tasks/run-application/horizontal-pod-autoscale/)
62+
state. Kubernetes also supports [autoscaling](/docs/concepts/workloads/autoscaling/)
6363
of Pods, but it is outside of the scope of this tutorial. Scaling to zero is also
6464
possible, and it will terminate all Pods of the specified Deployment.
6565

0 commit comments

Comments
 (0)