Всем привет!
Если вам нужны Network Policy, но вы не хотите их писать самостоятельно, а вместо этого использовать средства автоматизации, то проект cpg может вам помочь.
Работает он по следующему принципу: соединяется с Hubble Relay, анализирует dropped-соединения и генерирует
CiliumNetworkPolicy, которые их разрешают.Предполагается, что всё начинается с правила
default-deny-all, что позволяет «открывать» только нужные каналы взаимодействия на основании анализа трафика.Сам по себе он ничего не применяет, а лишь генерирует YAML-файлы для дальнейшей проверки и применения, если всё соответствует действительности.
Не все dropped-соединения попадают в политику. Часть из них «отбрасываются» cfg с указанием причины принятого решения.
Из ключевых ограничений можно выделить: работа только с L4-трафиком, создание только CiliumNetworkPolicy (а не CLusterWide).
Подробнее о том, как всё это работает, в каких режимах можно запускать cpg и какие результаты он предоставляет, можно прочесть в GitHub-репозитории проекта.