Как имитировать сбрасывание сети для каждого отдельного контейнера Docker по желанию? - PullRequest
1 голос
/ 11 февраля 2020

Я хочу провести стресс-тест для приложений, которые запускаются внутри docker контейнеров. Простой сценарий ios, такой как включение / выключение, отбрасывание всех пакетов для указанного IP-адреса.

Я пробовал некоторые инструменты, но ни один из них не удовлетворяет мне:

  1. Отключение контейнеров от сети моста - к сожалению, он сбрасывает все соединения, не только с указанными ips.

  2. Настройка правил iptables изнутри контейнера - для этого требуется, чтобы контейнер запускаться в привилегированном режиме, что не очень хорошая практика (я хотел бы иметь подход, подходящий даже для производственных сред).

  3. Изменение iptables хоста также не выглядеть как вариант - я хотел бы создать проблемы с сетью для указанного c контейнера, а не для всех контейнеров на хосте.

Каковы некоторые возможные способы поиска в?
Существуют ли какие-либо инструменты для разработки хаоса, которые позволяют go вариантам для таких нужд?

1 Ответ

1 голос
/ 19 апреля 2020

Для docker контейнеров мы обычно используем https://github.com/alexei-led/pumba, что в основном дает вам все возможности tc в мире docker. В k8s мы обычно разворачиваем его как DaemonSet, а затем (через регулярное выражение) атакуем, определяя c pods / container / apps). Если вы дадите нам более конкретный c вопрос, я с удовольствием отвечу на конкретные c подробности.

...