Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revisionLast revisionBoth sides next revision | ||
proxmox:how_to_start_kubernetes_inside_proxmox_lxc_container [2021/08/26 10:40] – [Параметры контейнера в Proxmox 7] admin | proxmox:how_to_start_kubernetes_inside_proxmox_lxc_container [2021/11/21 09:45] – [Параметры контейнера в Proxmox 7] admin | ||
---|---|---|---|
Line 41: | Line 41: | ||
====== Параметры контейнера в Proxmox 7 ====== | ====== Параметры контейнера в Proxmox 7 ====== | ||
После апгрейда до **Proxmox 7** в системе **cgroups** обновился до версии **cgroups2**. В итоге **kubelet** нормально стартовал с такими параметрами контейнера: | После апгрейда до **Proxmox 7** в системе **cgroups** обновился до версии **cgroups2**. В итоге **kubelet** нормально стартовал с такими параметрами контейнера: | ||
- | < | + | < |
+ | mp1: / | ||
+ | lxc.apparmor.profile: | ||
lxc.cap.drop: | lxc.cap.drop: | ||
lxc.cgroup2.devices.allow: | lxc.cgroup2.devices.allow: | ||
Line 54: | Line 56: | ||
* обновить **kube-proxy** (в мае 2021 в него смерджили патч, который позволяет не изменять значения, | * обновить **kube-proxy** (в мае 2021 в него смерджили патч, который позволяет не изменять значения, | ||
* в конфиге **kube-proxy** дать параметру **conntrack-max-per-core** значение **0** - тогда **kube-proxy** будет использовать то значение, | * в конфиге **kube-proxy** дать параметру **conntrack-max-per-core** значение **0** - тогда **kube-proxy** будет использовать то значение, | ||
- | Также - серьезная проблема - отсутствует модуль **br_filter**. https:// | ||
- | / | ||
- | net.bridge.bridge-nf-call-iptables = 1 | ||
- | sudo sysctl -p | + | ===== Proxmox br_netfilter module absent ===== |
+ | Также - серьезная проблема - отсутствует модуль **br_filter**. https:// | ||
+ | В качестве воркараунда можно поработать с дефолтным ядром **Debian**. \\ | ||
+ | Устанавливаем его: | ||
+ | sudo apt-get install linux-image-amd64 linux-headers-amd64 | ||
+ | Затем надо сделать это ядро дефолтным в конфиге **Grub**. \\ | ||
+ | Это ядро в меню **Grub** попало в подменю **Advanced...** \\ | ||
+ | Чтобы сделать его дефолтным надо получить **menuentry_id_option** для подменю, | ||
+ | Для подменю строку **menuentry_id_option** смотрим тут: | ||
+ | cat / | ||
+ | Для только что установленного не-PVE-ядра строку **menuentry_id_option** смотрим тут: | ||
+ | VER=`dpkg -l | grep linux-image | grep -v meta | awk {' | ||
+ | cat / | ||
+ | Дальше редактируем файлик **/ | ||
+ | # | ||
+ | GRUB_DEFAULT=" | ||
+ | И дальше выполняем: | ||
+ | sudo update-grub | ||
+ | Также прописываем автозагрузку **br_netfilter**: | ||
+ | echo br_netfilter | sudo tee -a / | ||
+ | Если на хосте используется **ZFS**, то надо установить пакет **zfs-dkms**: | ||
+ | sudo apt-get install zfs-dkms | ||
+ | Также, со стандартным ядром не работает AppArmor, поэтому чтобы контейнеры запускались в конфиге контейнера должно быть: | ||
+ | lxc.apparmor.profile: | ||
+ | |||
======= Kubernetes CNI ======= | ======= Kubernetes CNI ======= | ||
В качетсве **CNI** можно использовать либо **flannel**: | В качетсве **CNI** можно использовать либо **flannel**: |