Комментарии 3
У нас стэйдж и препрод выключается в нерабочее время методом "автоскейлинг группы = 0 инстансов". Карпентер такое не умел год-полтора назад. Уже научился?
Karpenter отталкивается от потребностей рабочих нагрузок.
Если хотите, чтобы Karpenter удалил сервера, то отключите рабочие нагрузки. Можно сделать scale = 0 и обратно по расписанию (shell operator или lambda + cloudwatch и т.п.)
Также есть менее "правильный", на мой взгляд, способ: удалить Karpenter provisioner, тогда удалятся и сервера созданные им.
Мы можем использовать keda, в качестве умного HPA. Karpenter будет отталкиваться от наших пожеланий, как писал коллега выше.
Пример c keda
apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
name: cron-scaledobject
namespace: default
spec:
scaleTargetRef:
name: my-deployment
triggers:
- type: cron
metadata:
timezone: Europe/Berlin
# Scale up at 06:00 on Monday to Friday
start: "0 6 * * 1-5"
# Scale down at 20:00 on Monday to Friday
end: "0 20 * * 1-5"
desiredReplicas: "10"
- type: cron
metadata:
timezone: Europe/Berlin
# Scale down at 20:00 on Friday
start: "0 20 * * 5"
# Scale up at 06:00 on Monday
end: "0 6 * * 1"
# Adjust this to the desired number of replicas for the weekend
desiredReplicas: "1"
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Karpenter — умное масштабирование Kubernetes кластера