我有一个管理部署的自定义资源。我希望我的 HPA 能够根据部署 CPU 利用率来扩展 CR 副本计数,而不是直接扩展部署。如果它直接扩展部署,那么当触发协调器循环时,它会立即看到部署副本计数与 CR 中所述的所需副本计数之间的差异,并相应地更新部署。
我很接近。我的 CR 的规模端点正常运行,我的 HPA 甚至可以达到端点。它只是无法读取孩子的资源使用情况。
如果我让它直接扩展部署,我也让它工作,但正如我上面所说,它不是一个可行的解决方案。更多只是证明我的指标服务器运行正常并且可以获得资源利用率。
HPA YAML:
kind: HorizontalPodAutoscaler
metadata:
name: {{.metadata.name}}
namespace: {{.spec.namespace}}
spec:
minReplicas: 1
maxReplicas: 2
metrics:
- resource:
name: cpu
targetAverageUtilization: 2
type: Resource
scaleTargetRef:
apiVersion: testcrds.group.test/v1alpha1
kind: MyKind
name: my-kind-1
并证明 HPA 至少能够达到 CR 的规模端点:
Name: my-hpa
Namespace: default
Labels: <none>
Annotations: kubectl.kubernetes.io/last-applied-configuration:
{"kind":"HorizontalPodAutoscaler","apiVersion":"autoscaling/v2beta1","metadata":{"name":"my-kind-1","namespace":"default","creationTimestamp":n...
CreationTimestamp: Wed, 21 Aug 2019 17:22:11 -0400
Reference: MyKind/my-kind-1
Metrics: ( current / target )
resource cpu on pods (as a percentage of request): <unknown> / 2%
Min replicas: 1
Max replicas: 2
MLP pods: 0 current / 1 desired
Conditions:
Type Status Reason Message
---- ------ ------ -------
AbleToScale True SucceededRescale the HPA controller was able to update the target scale to 1
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal SuccessfulRescale 3m54s (x80 over 23m) horizontal-pod-autoscaler New size: 1; reason: Current number of replicas below Spec.MinReplicas
可以看出,在检索资源利用率方面没有骰子......