Назад | Перейти на главную страницу

Как включить автомасштабирование / v2beta2 в облаке Google

Следуя руководству, нашел Вот Я видел, что мне нужно autoscaling / v2beta2 для использования настраиваемых показателей для Horizontal Pod Autoscaler, но не знаю, как его включить.

Детали окружающей среды:

Что я пробовал:

О ваших версиях API: это нормально, с autoscaling / v2beta1 вы даже можете автомасштабировать на основе внешних метрик (например, Stackdriver).

По поводу вашего вопроса: я не понимаю, что вы имеете в виду, говоря «Я не могу включить это». На той же странице, которую вы связали, вы можете найти 80% необходимого вам манифеста:

apiVersion: autoscaling/v2beta2
kind: HorizontalPodAutoscaler
metadata:
  name: php-apache
  namespace: default
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: php-apache
  minReplicas: 1
  maxReplicas: 10
  metrics:
  - type: Resource
    resource:
      name: cpu
      target:
        type: Utilization
        averageUtilization: 50

В этом манифесте говорится: «иметь от 1 до 10 реплик, в зависимости от масштаба использования ЦП, больше, чем описано в scaleTargetRef». Вы также можете добавить на основе памяти, и это будет работать по принципу «ИЛИ» (если один из двух показателей превысит пороговое значение, произойдет масштабирование). Наконец, вы можете добавить показатель type: External это будет ваш источник Stackdriver (например, количество HTTP-запросов, количество сообщений в очереди ...). Обычно это рекомендуется, поскольку масштабирование на основе ЦП неэффективно.

Когда у вас есть манифест, просто попросите kubectl apply -f hpa.yaml, и вы его включите.

Вот почему я говорю, что не полностью понимаю ваш вопрос, вы хотите сказать, что не смогли найти надлежащий манифест? (тот, который я написал здесь, тоже не "правильный")

Я не смог найти источник (это была статья о HPA с внешними метриками), но вот манифест для моего HPA:

apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
  name: myapp-hpa
  namespace: myapp
spec:
  minReplicas: 3
  maxReplicas: 15
  scaleTargetRef:
    apiVersion: extensions/v1beta1
    kind: Deployment
    name: myapp
  metrics:
    - type: Resource
      resource:
        name: memory
        targetAverageUtilization: 60
    - type: External
      external:
        metricName: loadbalancing.googleapis.com|https|request_count
        metricSelector:
          matchLabels:
            resource.labels.url_map_name: k8s-um-myapp-myapp-ingress--64658eaf6b9dce0
        targetAverageValue: 100

Я масштабируюсь в зависимости от ОЗУ и запросов.

HTH