Как можно использовать Горизонтальный Автоскалер для масштабирования пользовательского ресурса (CR) на основе использования ресурсов дочернего развертывания?
У меня есть пользовательский ресурс, который управляет развертыванием. Я хочу, чтобы мой HPA мог масштабировать количество реплик 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
Как не видно ни одного кубика по извлечению ресурсов из использования...
1 ответ
Я наконец-то понял. Написал краткую среднюю статью, так как есть несколько шагов, которым нужно следовать, ответьте в статье: https://medium.com/@thescott111/autoscaling-kubernetes-custom-resource-using-the-hpa-957d00bb7993