Использование taints и tolerations
Вы можете использовать taints и tolerations, чтобы управлять тем, на каких узлах будут планироваться pod'ы OpenTelemetry Collector. Это полезно, когда нужно выделить определенные инфраструктурные узлы для рабочих нагрузок, связанных с observability.
Планирование Collector на инфраструктурных узлах
Чтобы разместить OpenTelemetry Collector на инфраструктурных узлах, настройте поля nodeSelector и tolerations в пользовательском ресурсе OpenTelemetryCollector.
Предварительные требования
- Должен быть установлен Alauda Build of OpenTelemetry v2 Operator.
- инфраструктурные узлы должны быть настроены с соответствующими метками и taints.
Процедура
-
Убедитесь, что ваши инфраструктурные узлы правильно помечены и имеют taints:
-
Создайте или обновите ресурс
OpenTelemetryCollectorсnodeSelectorиtolerations:- spec.nodeSelector: Ограничивает pod'ы Collector так, чтобы они запускались только на узлах, соответствующих указанным меткам. В этом примере — на узлах с меткой
node-role.kubernetes.io/infra: "". - spec.tolerations: Позволяет pod'ам Collector планироваться на узлах с соответствующими taints. Эффект
NoScheduleне позволяет другим pod'ам без этой toleration планироваться на этих узлах. - spec.tolerations[].operator: Установите значение
Equal, чтобы требовать точного совпадения ключа и значения taint.
- spec.nodeSelector: Ограничивает pod'ы Collector так, чтобы они запускались только на узлах, соответствующих указанным меткам. В этом примере — на узлах с меткой
Проверка
Проверьте, что pod'ы Collector планируются на инфраструктурных узлах:
Убедитесь, что в столбце NODE указаны имена инфраструктурных узлов.