NetworkPolicy — полдела, вопрос в том, как убедиться, что она реально работает так, как вы задумали. Статический анализ манифестов тут бессилен: он не знает ни про CNI, ни про то, кто и куда на самом деле дотягивается в вашем кластере. Тут в тему kubesonde — оператор, который не читает YAML, а активно прощупывает связность между Pod'ами изнутри кластера.Работает так: ставите
CRD и создаете объект Kubesonde с указанием неймспейса и режима (probe: all). Дальше он в каждый Pod подкидывает ephemeral container (по умолчанию instrumentisto/nmap для проб и свой gonetstat для наблюдения за открытыми портами) и начинает гонять коннекты во всех направлениях. Результат забирается через port-forward и curl localhost:2709/probes в JSON, который можно закинуть в их же веб-UI и посмотреть матрицу «кто до кого дошел». Есть непрерывный режим, исключения-включения по селекторам и, самое интересное, возможность прописать в спеке ожидаемый исход (action: Allow / Deny) — то есть это уже не сканер, а тесты на вашу сетевую изоляцию, которые можно гонять в CI после каждого изменения политик.Инструмент академический —
Apache 2.0, 18 звезд, вырос из работы Analyzing Microservice Connectivity with Kubesonde на ESEC/FSE 2023 и используется как рантайм-часть в исследовании сетевых мисконфигов в Helm-чартах, о котором мы писали недавно. Инструмент явно для dev/test/stage окружений, но ни как ни для prod.


