Ошибка 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 начинает работать нормально.

Поделиться: DiasporaTwitterFacebookLinkedInHackerNewsEmailReddit

Похожие записи:


Comments !