Дополнение CCE Кластер Autoscaler построено на компоненте Autoscaler сообщества. Оно может автоматически регулировать количество узлов кластера в зависимости от потребностей приложений в ресурсах, оптимизируя использование ресурсов и производительность. Autoscaler является главным контроллером в Kubernetes. Он может автоматически масштабировать узлы в или наружу в зависимости от требований к ресурсам. Когда ресурсов узлов недостаточно для размещения pod‑ов в кластере, Autoscaler добавляет дополнительные узлы с нужными ресурсами для этих pod‑ов. Кроме того, если загрузка добавленных узлов низка, Autoscaler автоматически удалит их. Для получения подробностей о том, как реализовать автоматическое масштабирование узлов, см Создание политики автоматического масштабирования узлов.
Сообщество с открытым исходным кодом: https://github.com/kubernetes/autoscaler
Autoscaler контролирует автоматическое масштабирование наружу и внутрь.
Вы можете выбрать любой из следующих методов:
Автоматическое масштабирование будет выполнено, когда:
Дополнение следует политике «No Less, No More». Например, если для создания pod требуются три ядра, а система поддерживает узлы с четырёх‑ и восьмиядерными процессорами, Autoscaler предпочтительно создаст узел с четырьмя ядрами.
Если предварительно выделенные CPUs и память узла остаются ниже порога scale-in в течение продолжительного периода (по умолчанию 10 минут), кластер инициирует операцию scale-in, автоматически удаляя недоиспользуемый узел. Однако узел не может быть удалён из кластера, если существуют следующие pod'ы:
Существует три типа предустановленные спецификации на основе масштаба кластера. Вы можете выбрать одну по мере необходимости. Система настроит количество подов и квоты ресурсов для дополнения на основе выбранных предустановленных спецификаций. Вы можете увидеть конфигурацию в консоли.
Если ваш кластер большой и предустановленные спецификации не отвечают вашим требованиям, вы можете настроить спецификации ресурсов и оценить количество подов в кластере, чтобы точнее определить использование памяти дополнением. Рекомендуемый запрос памяти и ограничение в типичных больших кластерах могут быть рассчитаны следующим образом:
Например, если существует 20,000 подов и размер YAML file каждого пода составляет 10 KB, запрос памяти будет 6.6 GiB (2 × 10 × 0.28 GiB + 1 GiB) и ограничение памяти будет 8.6 GiB (6.6 GiB + 2 GiB). (Рассчитанные значения могут отличаться от рекомендаций, указанных в Таблица 1. Вы можете обратиться к этой таблице или использовать эти формулы.)
Количество Под (10 KB для каждого Под YAML) | Рекомендуемый запрос памяти | Рекомендуемый лимит памяти |
|---|---|---|
10000 | 4 GiB | 6 GiB |
30000 | 8 GiB | 10 GiB |
50000 | 16 GiB | 18 GiB |
80000 | 24 GiB | 26 GiB |
100000 | 28 GiB | 30 GiB |
Параметр | Описание |
|---|---|
Multi-AZ Развертывание |
|
Аффинитет узла |
|
Toleration | Использование как taints, так и tolerations позволяет (не принудительно) планировать Deployment дополнения на узел с соответствующими taints и управлять политиками вытеснения Deployment после того, как узел, где расположен Deployment, будет помечен taint. Дополнение добавляет политику tolerance по умолчанию для node.kubernetes.io/not-ready и node.kubernetes.io/unreachable taints соответственно. Период времени tolerance составляет 60s. Для получения подробностей см. Configuring Tolerance Policies. |
Компонент | Описание | Тип ресурса |
|---|---|---|
Автоскейлер | Авто масштабирование для кластеров Kubernetes | Развертывание |