HPA configuration
Kruise workloads, such as CloneSet, Advanced StatefulSet, UnitedDeployment, are all implemented scale subresource, which means they allow systems like HorizontalPodAutoscaler and PodDisruptionBudget interact with these resources.
Example
Just set the CloneSet's type and name into scaleTargetRef
:
apiVersion: autoscaling/v2beta2
kind: HorizontalPodAutoscaler
# ...
spec:
scaleTargetRef:
apiVersion: apps.kruise.io/v1alpha1
kind: CloneSet
name: your-cloneset-name
Note that:
- The HPA's namespace should be same as the namespace of your CloneSet.
- The
apiVersion
inscaleTargetRef
should be same as theapiVersion
in your workload resource, such asapps.kruise.io/v1alpha1
orapps.kruise.io/v1beta1
. It depends on which version you are using for those workloads that have multiple versions, such as Advanced StatefulSet.