Автоматическое масштабирование и управление нагрузкой

Практические лайфхаки для разработчиков, DevOps и админов: Docker, Linux, Bash, Python, Golang, Ansible, логи и безопасность — только рабочие решения. Даем готовые команды, конфиги и приёмы диагностики, которые экономят часы и дни. Если нужно быстро настроить, отладить и обезопасить инфраструктуру — вы по адресу.

kubernetesautoscalinghorizontalpodautoscaler

👁 Автоматическое масштабирование позволяет динамично адаптировать количество реплик приложения в зависимости от нагрузки, что особенно актуально в условиях изменений в трафике и запросах. В Kubernetes для этого можно настроить Horizontal Pod Autoscaler, который будет автоматически увеличивать или уменьшать количество подов.

📝 Пример для подов в Kubernetes:

apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
  name: my-app-hpa
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: my-app
  minReplicas: 2
  maxReplicas: 10
  metrics:
  - type: Resource
    resource:
      name: cpu
      targetAverageUtilization: 80

📌 Как это работает:

  • Этот манифест создает HorizontalPodAutoscaler для вашего приложения (my-app), которое будет автоматически масштабироваться в пределах от 2 до 10 реплик.
  • Масштабирование происходит на основе использования ресурсов, в данном примере по метке нагрузки на процессор (CPU), если средняя нагрузка превышает 80%.
  • Kubernetes сам решает, когда и сколько подов запустить, чтобы снизить нагрузку на текущие реплики.

❗️ Эта настройка позволяет автоматически реагировать на повышение или снижение нагрузки, что повышает отказоустойчивость приложения и значительно упрощает управление в больших инфраструктурах.

tags: #k8s #полезно #devops

🧭 @recura_tech 🌐 VK 🌐 MAX

YAML-манифест HPA для Kubernetes на тёмном фоне: пример с minReplicas 2, maxReplicas 10 и targetAverageUtilization 80.
Пример HPA-манифеста с настройкой масштабирования по CPU.

Читайте так же