--- api_metadata: apiVersion: "autoscaling/v1" import: "k8s.io/api/autoscaling/v1" kind: "HorizontalPodAutoscaler" content_type: "api_reference" description: "configuration of a horizontal pod autoscaler." title: "HorizontalPodAutoscaler" weight: 11 auto_generated: true --- `apiVersion: autoscaling/v1` `import "k8s.io/api/autoscaling/v1"` ## HorizontalPodAutoscaler {#HorizontalPodAutoscaler} configuration of a horizontal pod autoscaler.
- **apiVersion**: autoscaling/v1 - **kind**: HorizontalPodAutoscaler - **metadata** (}}">ObjectMeta) Standard object metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata - **spec** (}}">HorizontalPodAutoscalerSpec) behaviour of autoscaler. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status. - **status** (}}">HorizontalPodAutoscalerStatus) current information about the autoscaler. ## HorizontalPodAutoscalerSpec {#HorizontalPodAutoscalerSpec} specification of a horizontal pod autoscaler.
- **maxReplicas** (int32), required upper limit for the number of pods that can be set by the autoscaler; cannot be smaller than MinReplicas. - **scaleTargetRef** (CrossVersionObjectReference), required reference to scaled resource; horizontal pod autoscaler will learn the current resource consumption and will set the desired number of pods by using its Scale subresource. *CrossVersionObjectReference contains enough information to let you identify the referred resource.* - **scaleTargetRef.kind** (string), required Kind of the referent; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" - **scaleTargetRef.name** (string), required Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names - **scaleTargetRef.apiVersion** (string) API version of the referent - **minReplicas** (int32) minReplicas is the lower limit for the number of replicas to which the autoscaler can scale down. It defaults to 1 pod. minReplicas is allowed to be 0 if the alpha feature gate HPAScaleToZero is enabled and at least one Object or External metric is configured. Scaling is active as long as at least one metric value is available. - **targetCPUUtilizationPercentage** (int32) target average CPU utilization (represented as a percentage of requested CPU) over all the pods; if not specified the default autoscaling policy will be used. ## HorizontalPodAutoscalerStatus {#HorizontalPodAutoscalerStatus} current status of a horizontal pod autoscaler
- **currentReplicas** (int32), required current number of replicas of pods managed by this autoscaler. - **desiredReplicas** (int32), required desired number of replicas of pods managed by this autoscaler. - **currentCPUUtilizationPercentage** (int32) current average CPU utilization over all pods, represented as a percentage of requested CPU, e.g. 70 means that an average pod is using now 70% of its requested CPU. - **lastScaleTime** (Time) last time the HorizontalPodAutoscaler scaled the number of pods; used by the autoscaler to control how often the number of pods is changed. *Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.* - **observedGeneration** (int64) most recent generation observed by this autoscaler. ## HorizontalPodAutoscalerList {#HorizontalPodAutoscalerList} list of horizontal pod autoscaler objects.
- **apiVersion**: autoscaling/v1 - **kind**: HorizontalPodAutoscalerList - **metadata** (}}">ListMeta) Standard list metadata. - **items** ([]}}">HorizontalPodAutoscaler), required list of horizontal pod autoscaler objects. ## Operations {#Operations}
### `get` read the specified HorizontalPodAutoscaler #### HTTP Request GET /apis/autoscaling/v1/namespaces/{namespace}/horizontalpodautoscalers/{name} #### Parameters - **name** (*in path*): string, required name of the HorizontalPodAutoscaler - **namespace** (*in path*): string, required }}">namespace - **pretty** (*in query*): string }}">pretty #### Response 200 (}}">HorizontalPodAutoscaler): OK 401: Unauthorized ### `get` read status of the specified HorizontalPodAutoscaler #### HTTP Request GET /apis/autoscaling/v1/namespaces/{namespace}/horizontalpodautoscalers/{name}/status #### Parameters - **name** (*in path*): string, required name of the HorizontalPodAutoscaler - **namespace** (*in path*): string, required }}">namespace - **pretty** (*in query*): string }}">pretty #### Response 200 (}}">HorizontalPodAutoscaler): OK 401: Unauthorized ### `list` list or watch objects of kind HorizontalPodAutoscaler #### HTTP Request GET /apis/autoscaling/v1/namespaces/{namespace}/horizontalpodautoscalers #### Parameters - **namespace** (*in path*): string, required }}">namespace - **allowWatchBookmarks** (*in query*): boolean }}">allowWatchBookmarks - **continue** (*in query*): string }}">continue - **fieldSelector** (*in query*): string }}">fieldSelector - **labelSelector** (*in query*): string }}">labelSelector - **limit** (*in query*): integer }}">limit - **pretty** (*in query*): string }}">pretty - **resourceVersion** (*in query*): string }}">resourceVersion - **resourceVersionMatch** (*in query*): string }}">resourceVersionMatch - **timeoutSeconds** (*in query*): integer }}">timeoutSeconds - **watch** (*in query*): boolean }}">watch #### Response 200 (}}">HorizontalPodAutoscalerList): OK 401: Unauthorized ### `list` list or watch objects of kind HorizontalPodAutoscaler #### HTTP Request GET /apis/autoscaling/v1/horizontalpodautoscalers #### Parameters - **allowWatchBookmarks** (*in query*): boolean }}">allowWatchBookmarks - **continue** (*in query*): string }}">continue - **fieldSelector** (*in query*): string }}">fieldSelector - **labelSelector** (*in query*): string }}">labelSelector - **limit** (*in query*): integer }}">limit - **pretty** (*in query*): string }}">pretty - **resourceVersion** (*in query*): string }}">resourceVersion - **resourceVersionMatch** (*in query*): string }}">resourceVersionMatch - **timeoutSeconds** (*in query*): integer }}">timeoutSeconds - **watch** (*in query*): boolean }}">watch #### Response 200 (}}">HorizontalPodAutoscalerList): OK 401: Unauthorized ### `create` create a HorizontalPodAutoscaler #### HTTP Request POST /apis/autoscaling/v1/namespaces/{namespace}/horizontalpodautoscalers #### Parameters - **namespace** (*in path*): string, required }}">namespace - **body**: }}">HorizontalPodAutoscaler, required - **dryRun** (*in query*): string }}">dryRun - **fieldManager** (*in query*): string }}">fieldManager - **fieldValidation** (*in query*): string }}">fieldValidation - **pretty** (*in query*): string }}">pretty #### Response 200 (}}">HorizontalPodAutoscaler): OK 201 (}}">HorizontalPodAutoscaler): Created 202 (}}">HorizontalPodAutoscaler): Accepted 401: Unauthorized ### `update` replace the specified HorizontalPodAutoscaler #### HTTP Request PUT /apis/autoscaling/v1/namespaces/{namespace}/horizontalpodautoscalers/{name} #### Parameters - **name** (*in path*): string, required name of the HorizontalPodAutoscaler - **namespace** (*in path*): string, required }}">namespace - **body**: }}">HorizontalPodAutoscaler, required - **dryRun** (*in query*): string }}">dryRun - **fieldManager** (*in query*): string }}">fieldManager - **fieldValidation** (*in query*): string }}">fieldValidation - **pretty** (*in query*): string }}">pretty #### Response 200 (}}">HorizontalPodAutoscaler): OK 201 (}}">HorizontalPodAutoscaler): Created 401: Unauthorized ### `update` replace status of the specified HorizontalPodAutoscaler #### HTTP Request PUT /apis/autoscaling/v1/namespaces/{namespace}/horizontalpodautoscalers/{name}/status #### Parameters - **name** (*in path*): string, required name of the HorizontalPodAutoscaler - **namespace** (*in path*): string, required }}">namespace - **body**: }}">HorizontalPodAutoscaler, required - **dryRun** (*in query*): string }}">dryRun - **fieldManager** (*in query*): string }}">fieldManager - **fieldValidation** (*in query*): string }}">fieldValidation - **pretty** (*in query*): string }}">pretty #### Response 200 (}}">HorizontalPodAutoscaler): OK 201 (}}">HorizontalPodAutoscaler): Created 401: Unauthorized ### `patch` partially update the specified HorizontalPodAutoscaler #### HTTP Request PATCH /apis/autoscaling/v1/namespaces/{namespace}/horizontalpodautoscalers/{name} #### Parameters - **name** (*in path*): string, required name of the HorizontalPodAutoscaler - **namespace** (*in path*): string, required }}">namespace - **body**: }}">Patch, required - **dryRun** (*in query*): string }}">dryRun - **fieldManager** (*in query*): string }}">fieldManager - **fieldValidation** (*in query*): string }}">fieldValidation - **force** (*in query*): boolean }}">force - **pretty** (*in query*): string }}">pretty #### Response 200 (}}">HorizontalPodAutoscaler): OK 201 (}}">HorizontalPodAutoscaler): Created 401: Unauthorized ### `patch` partially update status of the specified HorizontalPodAutoscaler #### HTTP Request PATCH /apis/autoscaling/v1/namespaces/{namespace}/horizontalpodautoscalers/{name}/status #### Parameters - **name** (*in path*): string, required name of the HorizontalPodAutoscaler - **namespace** (*in path*): string, required }}">namespace - **body**: }}">Patch, required - **dryRun** (*in query*): string }}">dryRun - **fieldManager** (*in query*): string }}">fieldManager - **fieldValidation** (*in query*): string }}">fieldValidation - **force** (*in query*): boolean }}">force - **pretty** (*in query*): string }}">pretty #### Response 200 (}}">HorizontalPodAutoscaler): OK 201 (}}">HorizontalPodAutoscaler): Created 401: Unauthorized ### `delete` delete a HorizontalPodAutoscaler #### HTTP Request DELETE /apis/autoscaling/v1/namespaces/{namespace}/horizontalpodautoscalers/{name} #### Parameters - **name** (*in path*): string, required name of the HorizontalPodAutoscaler - **namespace** (*in path*): string, required }}">namespace - **body**: }}">DeleteOptions - **dryRun** (*in query*): string }}">dryRun - **gracePeriodSeconds** (*in query*): integer }}">gracePeriodSeconds - **pretty** (*in query*): string }}">pretty - **propagationPolicy** (*in query*): string }}">propagationPolicy #### Response 200 (}}">Status): OK 202 (}}">Status): Accepted 401: Unauthorized ### `deletecollection` delete collection of HorizontalPodAutoscaler #### HTTP Request DELETE /apis/autoscaling/v1/namespaces/{namespace}/horizontalpodautoscalers #### Parameters - **namespace** (*in path*): string, required }}">namespace - **body**: }}">DeleteOptions - **continue** (*in query*): string }}">continue - **dryRun** (*in query*): string }}">dryRun - **fieldSelector** (*in query*): string }}">fieldSelector - **gracePeriodSeconds** (*in query*): integer }}">gracePeriodSeconds - **labelSelector** (*in query*): string }}">labelSelector - **limit** (*in query*): integer }}">limit - **pretty** (*in query*): string }}">pretty - **propagationPolicy** (*in query*): string }}">propagationPolicy - **resourceVersion** (*in query*): string }}">resourceVersion - **resourceVersionMatch** (*in query*): string }}">resourceVersionMatch - **timeoutSeconds** (*in query*): integer }}">timeoutSeconds #### Response 200 (}}">Status): OK 401: Unauthorized