Синхронизация набора демонов

#kubernetes #synchronization #daemonset

#kubernetes #синхронизация #набор демонов

Вопрос:

Допустим, у меня есть набор демонов, запущенный в моем кластере k8s, и каждый модуль, созданный набором демонов, создает и записывает в каталог на узле, где он запущен. Есть ли способ автоматически синхронизировать папки с одной из основных? Учитывая, что у меня есть кластер с несколькими мастерами.

Комментарии:

1. Каков здесь вариант использования? И каковы ограничения? Потому что метод может зависеть от варианта использования.

2. Я использую Fluent Bit для сбора журналов приложений, которые выполняются в кластерах K8S. Fluent bit выполняется как набор демонов, поэтому он создает файл для каждого модуля, запущенного на каждом узле, где может быть запущено приложение. Я разработал скрипт, который фильтрует файлы журналов в нужном мне формате, но вместо запуска внутри каждого узла я хотел бы централизовать файлы журналов внутри одного из главных узлов, чтобы я мог запустить свой скрипт один раз вместо: 1. Доступа к каждому узлу из главного 2. Запуска сценария 3. Возврата результата ведущему

3. Рассматривали ли вы возможность использования плагина forward ? Из документов: "The out_forward Buffered Output plugin forwards events to other fluentd nodes" . Или HA config ?

4. Я собираюсь использовать HTTP-вывод, поскольку это кажется наиболее удобным решением. Мой единственный вопрос в том, могу ли я ограничить fluent bit, чтобы возвращать журнал только за последние 24 часа, например? потому что на данный момент он отправляет ВЕСЬ журнал модуля внутри тела запроса, и в будущем с ним будет много работы..

Ответ №1:

У вас может быть постоянный том с ReadWriteMany режимом доступа, чтобы все наборы демонов могли совместно использовать один и тот же набор данных между ними.

Простой пример здесь:http://snippi.com/s/qpge73r

Редактировать: как прокомментировал @matt, немногие драйверы поддерживают это, как здесьhttps://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes

Комментарии:

1. Но не все драйверы поддерживают это. Проверьте в документах k8s список драйверов, поддерживающих ReadWriteMany

2. может быть, корзина поможет, если ваше хранилище — это объекты?