vrutkovs, слышал вы пишите операторы для всего. Бывали-ли у вас случаи, когда у вас накапливаются сотни или даже тысячи однотипных CR в кластере и всех их должен обслуживать один оператор. В данном случае было бы логично запустить несколько контроллеров, но как в данном случае было бы правильно распределить нагрузку между ними?
у нас обычно оператор пишет в статус что ресурс обрабатывается, потому остальные его не трогают. Но до тысяч (и нескольких инстансов оператора) мы не доводим, проще сделать более специализированный тип
у нас обычно оператор пишет в статус что ресурс обрабатывается, потому остальные его не трогают. Но до тысяч (и нескольких инстансов оператора) мы не доводим, проще сделать более специализированный тип
в принципе ничто не мешает описать конфигурацию в одних CR, а статусы хранить в других
именно, ноды у тебя не pets, так что у нас они объединяются в MachineSet - и конфиги к ним хранятся в MachineConfigPool (составляется из MachineConfig), а у каждого инстанса Machine уже свой статус
не знаю тестили ли сотни машин, но думаю просто инстансы оператора добавят если скорость обработки будет падать
Ну я пока обхожусь распараллеливанием воркеров в пределах одного контроллера, параметр --max-workers=100 для operator-sdk, работает норм, но хочется сделать это более правильным
Ну я пока обхожусь распараллеливанием воркеров в пределах одного контроллера, параметр --max-workers=100 для operator-sdk, работает норм, но хочется сделать это более правильным