на bare metal gpu кластере, пуллит таски с google cloud pub/sub. Хочу сделать "дыхание в облако", а именно второй кластер в GKE на NVIDIA L4, чтобы в случае роста трафика, когда своих видеокарт не хватает, брать в аренду спотовые GPU инстансы в облаке.
Сделал HorizontalPodAutosclaer на основе количества неотвеченных тасков в pubsub очереди:
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: pubsub
namespace: test
spec:
minReplicas: 1
maxReplicas: 50
metrics:
- external:
metric:
name: pubsub.googleapis.com|subscription|num_undelivered_messages
selector:
matchLabels:
resource.labels.subscription_id: generation-task-receive-sub
target:
type: AverageValue
averageValue: 20
type: External
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: test
Проблема в том, что оно берёт последнее значение. Как сделать так, чтобы использовался какой-то условный average за последние 5 минут (window)?
ты деплойменты скейлишь? ))
а ты кеду не пробовал?
в целом я нативным способом это сделал
Обсуждают сегодня