Некоторый трафик Kubernetes игнорирует VLAN

У меня есть небольшой кластер Kubernetes, который я настроил с помощью kubeadm . Мои серверы подключены через VLAN, в которую мой провайдер позволяет мне добавлять свои серверы.

VLAN добавляет сетевой адаптер ( ens6 ), на котором я создал виртуальный адаптер ( veth0 ), который назначает каждому серверу IP-адрес в моей VLAN.

соответствующий netcfg выглядит так:

vlans:
  veth0:
    id: 0
    link: ens6
    addresses: [10.96.0.1/24]

Сервер 01 имеет IP 10.96.0.1, Сервер 02 имеет IP 10.96.0.2.

Проверка трафика с помощью bmon , я вижу некоторые трафик на интерфейсе veth0 между серверами в кластере.

RX (S01)     TX (S01)
 4.77GiB     60.28GiB

RX (S02)     TX (S02)
59.70GiB      5.48GiB

Глядя на мой общедоступный интерфейс LAN ( ens3 ), я вижу подозрительно высокий объем трафика для моего кластера, который имеет почти нет приложений, развернутых на нем:

RX (S01)     TX (S01)
 46.60GiB    304.84GiB

RX (S02)     TX (S02)
309.69GiB     40.86GiB

Я загрузил кластер с помощью этой команды kubeadm init --pod-network-cidr 10.98.0.0/16 --apiserver-Advertise-address = 10.96.0.1 --apiserver-cert -extra-sans = <общедоступный IP для удаленного kubeadm> . Другой сервер также подключился с использованием IP-адреса VLAN.

Проверка ens3 с использованием nethogs на обоих серверах. Я вижу внешний трафик от kubelet и kube-apiserver .

Как я могу проверить, что оба узла обмениваются данными через VLAN, и как лучше всего отладить, откуда исходит этот избыточный сетевой трафик? Как полностью ограничить трафик кластера в виртуальной локальной сети?

0
задан 1 February 2019 в 15:01
1 ответ
  • Можно проверить входящий трафик на наличие тегов VLAN с помощью tcpdump с опцией -e и vlan.
    . Это покажет подробности заголовка VLAN:
# tcpdump -i eno1 -nn -e  vlan
To capture the issue live.

или

# tcpdump -i eno1 -nn -e  vlan -w /tmp/vlan.pcap
To write to the capture to a file.
0
ответ дан 5 December 2019 в 04:18

Теги

Похожие вопросы