#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. может быть, корзина поможет, если ваше хранилище — это объекты?