Выполнение keepalived с vrrp в непривилегированном lxc контейнере

Я пытаюсь получить keepalived, работающий в непривилегированном lxc контейнере, но я получаю следующую ошибку в системном журнале.

May  8 10:56:01 dnsmasq Keepalived_vrrp[11025]: Initializing ipvs 2.6
May  8 10:56:01 dnsmasq modprobe: ERROR: ../libkmod/libkmod.c:556 kmod_search_moddep() could not open moddep file '/lib/modules/4.4.0-22-generic/modules.dep.bin'
May  8 10:56:01 dnsmasq Keepalived_vrrp[11025]: IPVS: Can't initialize ipvs: No space left on device

Что я пропускаю. Я пытался загрузить ip_vs модуль ядра на хосте, но без успеха.

2
задан 8 May 2016 в 12:02

2 ответа

Контейнеры не позволяются загрузочным модулям, поскольку они совместно используют ядро с хост-машиной. Однажды Вы загрузочный модуль на Вашем аппаратном узле, это станет доступным на всех контейнерах. То же правило для виртуализации OpenVZ.

0
ответ дан 8 May 2016 в 22:02

При выполнении LXD, необходимо позволить модулям Ядра Linux быть загруженными контейнером LXC.

lxc config set CONTAINERNAME linux.kernel_modules ip_vs_wrr,ip_vs_wlc,ip_vs_sh,ip_vs_sed,ip_vs_rr,ip_vs_nq,ip_vs_lc,ip_vs_lblcr,ip_vs_lblc,ip_vs_ftp,nf_nat,ip_vs_dh,ip_vs,nf_conntrack,libcrc32c

Внутренняя часть контейнер необходимо установить -P опция к keepalived для использования keepalived правильно.

, Чтобы сделать это на Ubuntu 16.04 можно отредактировать /etc/defaults/keepalived и установить следующую строку: DAEMON_ARGS="-P"

при использовании liblxc при загрузке модуля ядра на контейнере хоста, необходимо смочь загрузить его в контейнере LXC.

1
ответ дан 2 December 2019 в 02:52

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

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