Ограничения ресурсов Ключ-АСТРОМ Operator: различия между версиями
(Новая страница: «Правильно настроенные ограничения ресурсов обеспечивают оптимальную производительнос...») |
|||
| Строка 232: | Строка 232: | ||
containers: | containers: | ||
- name: | - name: astromkey-operator | ||
resources: | resources: | ||
Текущая версия на 18:33, 24 ноября 2025
Правильно настроенные ограничения ресурсов обеспечивают оптимальную производительность и стабильность компонентов Ключ-АСТРОМ Operator, предотвращая при этом конфликт ресурсов в кластере Kubernetes. Это руководство поможет вам понять, как установить правильные ограничения ресурсов в зависимости от размера вашей среды и особенностей использования.
Базовый уровень ограничений ресурсов по умолчанию
Предусмотренные по умолчанию ограничения ресурсов были проверены в ходе тестирования производительности. Эти значения хорошо зарекомендовали себя в следующих условиях:
- 25 нодов (тип узла e2-standard-32 на Google Kubernetes Engine)
- 20 DynaKubes
- 2500 пространств имен
- 5000 подов
Факторы потребления ресурсов
Следующие пять ключевых показателей влияют на потребление ресурсов различными компонентами Ключ-АСТРОМ Operator:
| Индикатор | Ключ-АСТРОМ Operator | Webhook | CSI driver |
|---|---|---|---|
| Пространства имен | + | + | |
| Ноды | + | ||
| DynaKubes | + | + | |
| Поды | + | + | |
| Количество версий ЕдиногоАгента | + |
Описание показателей воздействия
- Пространства имен : большее количество пространств имен увеличивает нагрузку на оператора и веб-перехватчик, поскольку им необходимо отслеживать и управлять ресурсами во всех пространствах имен.
- Влияние:
- Увеличивает использование ЦП/памяти оператора
- Увеличивает загрузку ЦП вебхука
- Влияние:
- Ноды : Дополнительные ноды требуют больше ресурсов, поскольку оператор ведет список всех доступных нод в кластерах Kubernetes и проверяет их соответствие доступным хостам на сервере Ключ-АСТРОМ.
- Влияние:
- Увеличивает использование ЦП/памяти оператора
- Влияние:
- DynaKubes : каждый ресурс DynaKube представляет собой отдельное развертывание Ключ-АСТРОМ, требующее индивидуального управления.
- Влияние:
- Увеличивает использование ЦП/памяти оператора
- Увеличивает использование ЦП/памяти веб-перехватчиком
- Увеличивает использование ЦП/памяти драйвером CSI
- Влияние:
- Поды : веб-перехватчик обрабатывает запросы на допуск для каждого пода, в то время как драйвер CSI управляет монтированием тома для подов с помощью ЕдиногоАгента.
- Влияние:
- Увеличивает использование ЦП/памяти сервера драйверов CSI/пробы активности/регистратора
- Влияние:
- Версии ЕдиногоАгента : Драйвер CSI должен управлять различными версиями ЕдиногоАгента и предоставлять к ним доступ, что требует дополнительных ресурсов хранения и обработки.
- Влияние:
- Увеличивает использование ЦП/памяти драйвером CSI
- Влияние:
Минимизировать влияние большого количества узлов
По умолчанию Ключ-АСТРОМ Operator отслеживает доступность хостов в кластере, чтобы обнаружить ожидаемое удаление модулей ЕдиногоАгента, особенно в сценариях масштабирования. Этот мониторинг не требуется в бессерверных средах.
Когда следует отключать обнаружение доступности хоста
| Данная функциональность присутствует во всех версиях Operator до 1.6.0 и не может быть отключена.
Его можно отключить в версиях 1.6.3 и 1.7.3 или в более новых версиях Operator. |
applicationMonitoring
Вы можете сократить потребление ресурсов оператором, отключив определение доступности хоста, если ваш DynaKubes:
- использовать только режимы мониторинга приложений и
- не использовать какие-либо функции мониторинга на базе хоста.
Как отключить определение доступности хоста
Чтобы отключить определение доступности хоста, задайте следующее значение Helm:
| operator:
hostAvailabilityDetection: false |
Такая оптимизация может снизить использование ЦП и памяти оператора, особенно в больших кластерах с большим количеством нодов.
Настройка на уровне кластера : operator.hostAvailabilityDetection влияет на все объекты DynaKube, управляемые оператором. Отключайте эту настройку только в том случае, если вы уверены, что ни один из ваших объектов DynaKube не требует мониторинга на уровне хоста. Отключение этой настройки, когда требуются ЕдиныеАгенты на хосте, может привести к ложным срабатываниям предупреждений об отсутствии хоста при масштабировании нодов или других операциях, связанных с нодами.
|
Настройте ограничения ресурсов
Хотя лимиты ресурсов по умолчанию должны быть достаточны для большинства случаев использования, вы можете настроить их в соответствии со своими конкретными потребностями.
Helm
- Ключ-АСТРОМ Operator
| operator:
requests: cpu: 50m memory: 64Mi limits: cpu: 100m memory: 128Mi |
- WebHook
| webhook:
requests: cpu: 300m memory: 128Mi limits: cpu: 300m memory: 128Mi |
- CSI driver
| csidriver:
csiInit: resources: requests: cpu: 50m memory: 100Mi limits: cpu: 50m memory: 100Mi server: resources: requests: cpu: 50m memory: 100Mi limits: cpu: 50m memory: 100Mi provisioner: resources: requests: cpu: 300m memory: 100Mi limits: cpu: 300m memory: 100Mi registrar: resources: requests: cpu: 20m memory: 30Mi limits: cpu: 20m memory: 30Mi livenessprobe: resources: requests: cpu: 20m memory: 30Mi limits: cpu: 20m memory: 30Mi |
YAML
- Ключ-АСТРОМ Operator
| spec:
template: spec: containers: - name: astromkey-operator resources: requests: cpu: 50m memory: 64Mi limits: cpu: 100m memory: 128Mi |
- WebHook
| spec:
template: spec: containers: - name: webhook resources: requests: cpu: 300m memory: 128Mi limits: cpu: 300m memory: 128Mi |
- CSI driver
csi-init
| spec:
template: spec: initContainers: - name: csi-init resources: requests: cpu: 50m memory: 100Mi limits: cpu: 50m memory: 100Mi |
server
| spec:
template: spec: containers: - name: server resources: limits: cpu: 50m memory: 100Mi requests: cpu: 50m memory: 100Mi |
provisioner
| spec:
template: spec: containers: - name: provisioner resources: limits: cpu: 300m memory: 100Mi requests: cpu: 300m memory: 100Mi |
registrar
| spec:
template: spec: containers: - name: registrar resources: limits: cpu: 20m memory: 30Mi requests: cpu: 20m memory: 30Mi |
liveness-probe
| spec:
template: spec: containers: - name: liveness-probe resources: limits: cpu: 20m memory: 30Mi requests: cpu: 20m memory: 30Mi |
Масштабирование ограничений ресурсов для различных сред
Запросы/ограничения ресурсов по умолчанию рассчитаны на среды среднего масштаба. Для корректировки ограничений в зависимости от размера среды следуйте следующим рекомендациям:
| Это лишь начальные рекомендации. Всегда отслеживайте фактическое использование ресурсов в вашей среде и корректируйте его соответствующим образом. |
| Классы качества обслуживания Pod : для некоторых компонентов лимиты и запросы установлены на одинаковые значения, чтобы обеспечить гарантированное качество обслуживания Pod. При масштабировании лимитов таких компонентов всегда масштабируйте запросы пропорционально.
Пропорциональное распределение ресурсов : Низкое количество запросов к ЦП в контейнере может привести к троттлингу из-за политики управления ЦП нода. Запросы служат минимальной гарантией. Таким образом, на высоконагруженном узле контейнеры с меньшими запросами будут подверженны троттлингу сильнее, чем контейнеры с большими запросами, независимо от их лимита. При масштабировании лимитов всегда учитывайте и масштабирование запросов |
Большие среды (> 50 nodes, > 10,000 pods)
Увеличьте запросы/лимиты по умолчанию на 50–100%:
- Ключ-АСТРОМ Operator:
- Request: CPU 100m, Memory 128Mi
- Limits: CPU 200m, Memory 256Mi
- Webhook:
- Requests: CPU 600m, Memory 256Mi
- Limits: CPU 600m, Memory 256Mi
- CSI driver provisioner:
- Requests: CPU 600m, Memory 200Mi
- Limits: CPU 600m, Memory 200Mi
- CSI driver server:
- Requests: CPU 100m, Memory 200Mi
- Limits: CPU 100m, Memory 200Mi
- CSI driver liveness-probe:
- Requests: CPU 30m, Memory 50Mi
- Limits: CPU 30m, Memory 50Mi
- CSI driver registrar:
- Requests: CPU 30m, Memory 50Mi
- Limits: CPU 30m, Memory 50Mi
Корпоративные среды (> 100 nodes, > 25,000 pods)
Увеличьте запросы/лимиты по умолчанию на 100–200%:
- Ключ-АСТРОМ Operator: CPU 400m, Memory 512Mi
- Request: CPU 200m, Memory 256Mi
- Limits: CPU 400m, Memory 512Mi
- Webhook:
- Requests: CPU 1000m, Memory 512Mi
- Limits: CPU 1000m, Memory 512Mi
- CSI driver provisioner:
- Requests: CPU 900m, Memory 300Mi
- Limits: CPU 900m, Memory 300Mi
- CSI driver server:
- Requests: CPU 150m, Memory 300Mi
- Limits: CPU 150m, Memory 300Mi
- CSI driver liveness-probe:
- Requests: CPU 50m, Memory 70Mi
- Limits: CPU 50m, Memory 70Mi
- CSI driver registrar:
- Requests: CPU 50m, Memory 70Mi
- Limits: CPU 50m, Memory 70Mi