Что это означает, что невозможно установить sysctl net / ipv4 / vs / conn_reuse_mode при установке режима ipvs с k8s?

Когда я изменяю режим kube-proxy с iptales на ipvs, после перезапуска kube-proxy "kubectl logs kube-proxy" возвращает следующую ошибку:

server.go: 485] невозможно создать прокси: невозможно установить sysctl net / ipv4 / vs / conn_reuse_mode: open / proc / sys / net / ipv4 / vs / conn_reuse_mode: нет такого файла или каталога

И я подтверждаю, что установил зависимые модули ядра, выполнив команду cmd:

lsmod | grep ip_vs lsmod | grep conntrack

Все в порядке, что мне делать с указанной выше ошибкой?


person juzip    schedule 04.06.2020    source источник


Ответы (1)


Какие именно модификации вы вносите в свой kube-proxy и как? Если вы устанавливаете только режим ipvs, вы можете сделать это способом, описанным здесь, и никаких проблем возникнуть не должно.

Если вы также настраиваете некоторые дополнительные sysctls в securityContext вашего kube-proxy Pods, вам может потребоваться принять во внимание следующее.

Имейте в виду, что существуют так называемые безопасные и небезопасные системные запросы. Как вы можете прочитать здесь:

Все безопасные системные запросы включены по умолчанию.

Все небезопасные системные запросы отключены по умолчанию и должны быть разрешены администратором кластера вручную для каждого узла. Модули с отключенными небезопасными sysctl будут запланированы, но не запустятся.

Принимая во внимание приведенное выше предупреждение, администратор кластера может разрешить определенные небезопасные системные запросы для очень особых ситуаций, таких как высокопроизводительная настройка или настройка приложения в реальном времени. Небезопасные sysctls включаются для каждого узла с флагом кублета; Например:

kubelet --allowed-unsafe-sysctls \   'kernel.msg*,net.core.somaxconn' ...
person mario    schedule 04.06.2020
comment
спасибо за ответ Марио , наконец-то я обнаружил, что нужно обновить версию ядра - person juzip; 05.06.2020