Переопределение конфигурации
Оператор YTsaurus автоматически генерирует статические конфигурационные файлы для всех компонентов кластера — на основе спецификации Ytsaurus. Если необходимо точечно изменить параметры, которые не вынесены в поля этой спецификации (например, чтобы включить debug-логирование для диагностики или настроить RPC-таймауты), используйте поле configOverrides. Этот механизм позволяет наложить свои настройки поверх конфигурации, сгенерированной оператором.
Как это работает
Механизм переопределения работает по принципу наложения изменений (патчинга). Вы создаёте отдельный Kubernetes ConfigMap, в котором описываете только те параметры, которые хотите изменить или добавить. В спецификации вашего YTsaurus-кластера в поле configOverrides вы указываете имя этого ConfigMap. Оператор считывает эти настройки и «вливает» их в автоматически сгенерированную конфигурацию перед запуском компонентов.
Примечание
При использовании configOverrides заранее убедитесь, что переопределяемая опция присутствует в конфигурации нужного компонента и что она поддерживается в текущей версии YTsaurus — оператор такой проверки не выполняет. Если опция в оверрайде указана неверно, изменения будут проигнорированы.
Формат конфигурации
ConfigMap должен содержать фрагмент конфигурации в формате YSON.
Структура ConfigMap
При формировании ConfigMap используйте следующую структуру:
- Каждый ключ — это имя конфигурационного файла компонента. Например,
ytserver-http-proxy.ysonдля HTTP-прокси илиytserver-master.ysonдля мастера. - Каждое значение — это фрагмент YSON-конфигурации с переопределяемыми параметрами.
Пример
Ниже приведён пример использования configOverrides для настройки домена cookie для HTTP прокси:
Шаг 1: Создайте ConfigMap с переопределениями конфигурации:
apiVersion: v1
kind: ConfigMap
metadata:
name: overrides
data:
ytserver-http-proxy.yson: |
{
"auth" = {
"cypress_cookie_manager" = {
"cookie_generator" = {
"domain" = ".yt-cluster.my-domain.com";
}
};
};
}
Шаг 2: Укажите ссылку на ConfigMap в спецификации Ytsaurus:
apiVersion: cluster.ytsaurus.tech/v1
kind: Ytsaurus
metadata:
name: ytdemo
spec:
configOverrides:
name: overrides
# ... Остальная часть спецификации
Доступные конфигурационные файлы
Ниже перечислены компоненты кластера, для которых можно переопределить конфигурацию — используя соответствующее имя конфигурационного файла:
ytserver-master.yson— мастер-серверыytserver-http-proxy.yson— HTTP-проксиytserver-rpc-proxy.yson— RPC-проксиytserver-data-node.yson— ноды данныхytserver-exec-node.yson— Exec нодыytserver-tablet-node.yson— таблет-нодыytserver-scheduler.yson— планировщикytserver-controller-agent.yson— контроллер-агентыytserver-discovery.yson— сервис обнаружения прокси