Под завис в состоянии завершения из-за ошибки iptables «Цепочка уже существует» в Kubernetes

Я столкнулся с необычной проблемой при развертывании Kubernetes с использованием диаграммы Mailu Helm, в частностикомпонент. После обновления развертывания вновь созданный модуль работает нормально, но старый модуль зависает в состоянии «завершения». В журнале событий Kubernetes отображается следующая ошибка, связанная с завершением работы модуля:

      error killing pod: failed to "KillPodSandbox" for "237aa644-7634-4fa2-a538-f973e7f7dfab" with KillPodSandboxError: "rpc error: code = Unknown desc = failed to destroy network for sandbox \"cbbcf6eaaf47c0ef5b92b97187276d04def7bcef3e68b92889b7993ba970ce55\": plugin type=\"portmap\" failed (delete): could not teardown ipv4 dnat: running [/usr/sbin/iptables -t nat -N CNI-DN-0e851981d24bd2d807e1a --wait]: exit status 1: iptables: Chain already exists.\n" 

Я использую небольшой кластер kubeadm 1.28 с Weave CNI и операционной системой Debian 11 для всех узлов.

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

Я не нашел много информации о том, как устранить эту конкретную ошибку.

Если я войду в ОС хоста затронутого узла и запущу `sudo iptables -t nat -N CNI-DN-0e851981d24bd2d807e1a --wait` , я действительно увижу проблему, отраженную в выводе:

      iptables: Chain already exists.

Если я попытаюсь удалить цепочку с помощью, iptables сообщает, что цепочка уже используется:

      iptables v1.8.7 (nf_tables):  CHAIN_USER_DEL failed (Device or resource busy): chain CNI-DN-0e851981d24bd2d807e1a

Я попытался перезапустить узел, но проблема все еще возникает.

0 ответов

Другие вопросы по тегам