Написать NetworkPolicy — полдела, вопрос в том, как убедиться, что… — k8s (in)security — TG.ME

Написать 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.
GitHub
GitHub - kubesonde/kubesonde: Kubesonde: network policy testing and verification in K8s
Kubesonde: network policy testing and verification in K8s - kubesonde/kubesonde
👍23🔥9❤4
August 27, 2026 2.6K 56