Назад | Перейти на главную страницу

AWS EKS CNI Создание дублирующихся сетевых интерфейсов, вызывающих сбои

Я использую кластер EKS на AWS, и в последнее время у меня периодически случаются сбои. Я обнаружил проблему с дублированием сетевых интерфейсов на одном из моих узлов, которые, как мне кажется, созданы Плагин AWS CNI.

Когда узел создан, у него есть 2 NIC. Но в какой-то момент позже в жизни узла создается третий сетевой адаптер (не мной), который вызывает странное поведение. Похоже, что rp_filter отклоняет пакеты от ELB, поскольку пакет SYN появляется в messages войти как марсианин.

Я должен добавить, что это, похоже, происходит только для сервисов, которые аннотированы как service.beta.kubernetes.io/external-traffic: OnlyLocal

Когда я отсоединяю третью сетевую карту, все возвращается в норму.

Мои вопросы

  1. Почему 3-я сетевая карта может вызвать эту проблему? Это ошибка CNI?
  2. Как я могу обойти эту проблему?
    1. Есть ли способ предотвратить подключение третьей сетевой карты?
    2. Есть ли способ настроить CNI чтобы он правильно подключил 3-й сетевой адаптер? У меня как-то неправильно настроен EKS?

Некоторые доказательства:

netstat -s показывает IPReversePathFilter: 666179 и увеличивается на единицу для каждого SYN из ELB точно.

tail /var/log/messages показывает марсианские пакеты вот так

Nov 22 18:37:17 ip-192-168-90-83 kernel: IPv4: martian source 192.168.102.150 from 192.168.236.246, on dev eth0
Nov 22 18:37:17 ip-192-168-90-83 kernel: ll header: 00000000: 0e 76 b3 cc 10 f4 0e 6f 51 60 fa be 08 00        .v.....oQ`....

Когда я установил rp_filter=0, то SYN от ELB больше не сбрасывается, и я вижу, что SYN-ACK направляются к ELB, но они никогда не попадают туда.