Большие кластеры
В Managed Service for Kubernetes можно создавать кластеры размером от нескольких сотен до нескольких тысяч узлов для ресурсоемких приложений и большого количества сервисов. С ростом кластера увеличиваются потребность в вычислительных ресурсах и IP-адресах, нагрузка на мастер, DNS и сетевые балансировщики.
Чтобы поддерживать работу приложений при таких нагрузках, используйте следующие возможности Managed Service for Kubernetes.
Несколько диапазонов IP-адресов подов
Каждому новому узлу нужен блок IP-адресов для подов. Если свободные блоки заканчиваются, кластер не сможет расти, даже когда вычислительных ресурсов достаточно. Поддержка нескольких диапазонов IP-адресов подов (Cluster Multi-CIDR) позволяет добавлять диапазоны без остановки и пересоздания кластера. Существующие узлы и поды сохраняют свои IP-адреса.
Подробнее о требованиях и добавлении диапазонов в разделе Кластеры с несколькими диапазонами IP-адресов подов.
Целевые группы сетевых балансировщиков
Отдельные целевые группы позволяют ограничить проверки доступности узлами, на которых размещены поды нужного приложения. Это снижает нагрузку от проверок в больших кластерах.
Подробнее об управлении целевыми группами в разделе Целевые группы сетевых балансировщиков.
Автоматическое масштабирование ресурсов кластера
Автоматическое масштабирование помогает адаптировать ресурсы кластера к изменению нагрузки. В Managed Service for Kubernetes доступны следующие виды масштабирования:
- Масштабирование мастера (Master Autoscaler) — изменяет количество vCPU и объем RAM мастера в зависимости от нагрузки.
- Масштабирование групп узлов (Cluster Autoscaler) — добавляет и удаляет узлы в зависимости от нагрузки на кластер.
- Горизонтальное масштабирование подов (Horizontal Pod Autoscaler) — изменяет количество реплик подов приложения.
- Вертикальное масштабирование подов (Vertical Pod Autoscaler) — изменяет ресурсы vCPU и RAM, выделяемые подам.
Подробнее о работе, настройке и ограничениях этих механизмов в статье Автоматическое масштабирование.
Автоматическое масштабирование DNS
С ростом числа подов увеличивается количество запросов к DNS кластера. Приложение kube-dns-autoscaler регулирует количество реплик CoreDNS в зависимости от числа узлов и vCPU. Это помогает поддерживать разрешение имен при увеличении размера кластера.
Чтобы настроить масштабирование, воспользуйтесь инструкцией Автоматическое масштабирование DNS по размеру кластера. Дополнительно снизить нагрузку на CoreDNS можно с помощью локального кеширования DNS-запросов на узлах.
Увеличение квот и запас ресурсов
Перед созданием или расширением кластера оцените необходимое количество узлов и групп узлов, vCPU, RAM и объем дисков. Предусмотрите запас для роста нагрузки и временных узлов. Для групп с автоматическим масштабированием учитывайте максимальный размер группы: именно он используется при расчете квот независимо от текущего количества узлов.
Проверьте квоты Managed Service for Kubernetes, а также квоты Compute Cloud, Virtual Private Cloud и Network Load Balancer. Если квот недостаточно, заранее запросите их увеличение.
Начните работу с большим кластером
Создайте кластер с нуля или перенесите существующие рабочие нагрузки в Managed Service for Kubernetes.