CCE Кластер Autoscaler аддон построен на компоненте Autoscaler сообщества. Он может автоматически регулировать количество узлов кластера в зависимости от потребностей приложений в ресурсах, оптимизируя использование ресурсов и производительность. Autoscaler является основным контроллером в Kubernetes. Он может автоматически масштабировать узлы в сторону увеличения или уменьшения в зависимости от требований к ресурсам. Когда ресурсов узлов недостаточно для размещения pod‑ов в кластере, Autoscaler добавляет дополнительные узлы с ресурсами для этих pod‑ов. Кроме того, если использование ресурсов добавленных узлов низкое, Autoscaler автоматически удалит их. Подробности о том, как реализовать автоматическое масштабирование узлов, см. Создание политики автоматического масштабирования узлов.
Сообщество с открытым исходным кодом: https://github.com/kubernetes/autoscaler
CCE Кластер Autoscaler управляет автоматическим масштабированием наружу и внутрь.
Вы можете выбрать один из следующих методов:
Авто масштабирование наружу будет выполнено, когда:
Аддон следует политике "No Less, No More". Например, если для создания pod требуется три ядра, а система поддерживает узлы с четырьмя и восемью ядрами, Autoscaler будет предпочитать создавать узел с четырьмя ядрами.
Если предварительно выделенные CPU и память узла остаются ниже порога масштабирования внутрь в течение продолжительного периода (по умолчанию 10 минут), кластер инициирует операцию масштабирования внутрь, автоматически удаляя неэффективно используемый узел. Тем не менее, узел нельзя удалить из кластера, если существуют следующие pod‑ы:
Существует три типа предустановленных спецификаций в зависимости от масштаба кластера. Вы можете выбрать один по требованию. Система настроит количество pod‑ов и квоты ресурсов для аддона на основе выбранных предустановленных спецификаций. Вы можете увидеть конфигурации в консоли.
Если ваш кластер крупный и предустановленные спецификации не удовлетворяют потребностям, вы можете настроить спецификации ресурсов и оценить количество pod‑ов в кластере, чтобы лучше определить потребление памяти аддоном. Рекомендуемые запросы и лимиты памяти в типичных больших кластерах могут быть рассчитаны следующим образом:
Например, если имеется 20 000 pod‑ов и размер YAML‑файла каждого pod‑а составляет 10 KB, запрос памяти будет 6,6 GiB (2 × 10 × 0.28 GiB + 1 GiB), а лимит памяти — 8,6 GiB (6,6 GiB + 2 GiB). (Вычисленные значения могут отличаться от рекомендаций, перечисленных в Table 1.
Количество pod‑ов (10 KB для каждого YAML‑файла pod‑а) | Рекомендуемый запрос памяти | Рекомендуемый лимит памяти |
|---|---|---|
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 |
Параметр | Описание |
|---|---|
Развертывание в нескольких AZ |
|
Привязка к узлу |
|
Толерация | Использование одновременно taint‑ов и толераций позволяет (не принудительно) pod‑ам развертывания аддона планироваться на узел с соответствующими taint‑ами и управлять политиками вытеснения pod‑ов после применения taint‑ов к хост‑узлам. Аддон добавляет политику толерации по умолчанию для node.kubernetes.io/not-ready и node.kubernetes.io/unreachable taint‑ов соответственно. Временное окно толерации — 60 с. Подробности см. Configuring Tolerance Policies. |
Компонент | Описание | Тип ресурса |
|---|---|---|
Autoscaler | Авто масштабирование для Kubernetes кластеров | Развертывание |