Ошибка HPA в k8s
После развертывания CronJob в кластере kubernetes столкнулся с проблемой. Перестал работать Horisontal Pod Autoscaler.
Ошибка при этом была следующей:
horizontal-pod-autoscaler missing request for cpu
Есть даже issue на GitHub, которое до сих пор открыто. Но решается эта проблема добавлением лимитов в контейнер CronJob:
resources:
requests:
memory: "32Mi"
cpu: "100m"
limits:
memory: "32Mi"
cpu: "100m"
В результате манифест CronJob из предыдущей заметки будет выглядеть так:
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: test-restart
namespace: test-ns
spec:
concurrencyPolicy: Forbid
schedule: '0 8 * * *' # cron spec of time, here, 8 o'clock
jobTemplate:
spec:
backoffLimit: 2
activeDeadlineSeconds: 600
template:
spec:
serviceAccountName: test-restart
restartPolicy: Never
containers:
- name: kubectl
image: bitnami/kubectl
command:
- 'kubectl'
- 'rollout'
- 'restart'
- 'deployment/your-deployment-name'
resources:
requests:
memory: "32Mi"
cpu: "100m"
limits:
memory: "32Mi"
cpu: "100m"
После этого HPA начинает работать нормально.
Комментарии: