Kubernetes Horizontal Pod Autoscaler (HPA) Тестирование - PullRequest
1 голос
/ 05 августа 2020

Мы сталкиваемся с некоторыми внутренними ошибками сервера (500) в нашем API веб-служб, по-видимому, когда новые модули вводятся или удаляются как часть нашей конфигурации автомасштабирования. устранение неполадок, поскольку вы не всегда можете контролировать моменты запуска и остановки подов.

Есть ли механизм, который можно использовать, чтобы дать команду кластеру увеличиваться или уменьшаться?

Наш hpa.yaml для процентов.

kind: HorizontalPodAutoscaler
apiVersion: autoscaling/v2beta2
metadata:
  name: xyz
spec:
  minReplicas: 1
  maxReplicas: 12
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: xyz
  behavior:
    scaleUp:
      stabilizationWindowSeconds: 0
      policies:
      - type: Percent
        value: 100
        periodSeconds: 15
    scaleDown:
      stabilizationWindowSeconds: 300
      policies:
      - type: Percent
        value: 50
        periodSeconds: 60
  metrics:
    - type: Resource
      resource:
        name: cpu
        target:
          type: Utilization
          averageUtilization: 70
    - type: Resource
      resource:
        name: memory
        target:
          type: Utilization
          averageUtilization: 85

1 Ответ

3 голосов
/ 05 августа 2020

Если вы заинтересованы в том, чтобы ваш HPA принудительно создавал или уничтожал модули для отладки, вы можете использовать настраиваемые метрики в определении .yaml Horizontal Pod Autoscaler.

Если проблема в том, что недавно созданные модули вызывают ошибки, вы можете реализовать тесты готовности в определении Pod, которые выполняют проверку httpGet. Таким образом, вы можете избежать перенаправления трафика c на неисправные модули, пока проверка зонда не вернет статус = 200.

...