Багато функцій залежать від певних можливостей ядра і мають мінімальні вимоги до версії ядра. Однак покладатися лише на номери версій ядра може бути недостатньо для деяких операційних систем, оскільки підтримувачі дистрибутивів таких як RHEL, Ubuntu та SUSE часто зворотно переносять вибрані функції до старіших версій ядра (залишаючи старішу версію ядра).
У Linux системний виклик sysctl() налаштовує параметри ядра під час виконання. Є інструмент командного рядка з назвою sysctl, який можна використовувати для налаштування цих параметрів, і багато з них доступні через файлову систему proc.
Деякі sysctls доступні лише за наявності достатньо нової версії ядра.
Наступні sysctls мають мінімальні вимоги до версії ядра і підтримуються в безпечному наборі:
net.ipv4.ip_local_reserved_ports (з Kubernetes 1.27, потребує ядро 3.16+);net.ipv4.tcp_keepalive_time (з Kubernetes 1.29, потребує ядро 4.5+);net.ipv4.tcp_fin_timeout (з Kubernetes 1.29, потребує ядро 4.6+);net.ipv4.tcp_keepalive_intvl (з Kubernetes 1.29, потребує ядро 4.5+);net.ipv4.tcp_keepalive_probes (з Kubernetes 1.29, потребує ядро 4.5+);net.ipv4.tcp_syncookies (з ізоляцією в просторі імен з ядра 4.6+);net.ipv4.tcp_rmem (з Kubernetes 1.32, потребує ядро 4.15+).net.ipv4.tcp_wmem (з Kubernetes 1.32, потребує ядро 4.15+).net.ipv4.vs.conn_reuse_mode (використовується в режимі проксі ipvs, потребує ядро 4.1+);nftables в kube-proxyДля Kubernetes 1.35, режим nftables у kube-proxy вимагає
версії 1.0.1 або новішої версії інструменту командного рядка nft, а також ядра 5.13 або новішого.
Для тестування та розробки можна використовувати старіші ядра, аж до 5.4, якщо встановити опцію nftables.skipKernelVersionCheck у конфігурації kube-proxy. Але це не рекомендується в операційній діяльності, оскільки це може викликати проблеми з іншими користувачами nftables
у системі.
Підтримка cgroup v1 у Kubernetes перебуває в режимі супроводу, починаючи з версії Kubernetes v1.31; рекомендовано використовувати cgroup v2. У Linux 5.8, файл системного рівня cpu.stat був доданий до кореневої cgroup для зручності.
У документації runc, ядра старіші за 5.2 не рекомендуються через відсутність підтримки freezer.
Pressure Stall Information підтримується в ядрі Linux версії 4.20 та новіших, але вимагає наступної конфігурації:
CONFIG_PSI=y. Більшість сучасних дистрибутивів це стандартно увімкнено. Ви можете перевірити конфігурацію вашого ядра, виконавши команду zgrep CONFIG_PSI /proc/config.gz.psi=1 до командного рядка ядра.Деякі функції можуть залежати від нових можливостей ядра і мати конкретні вимоги до ядра:
MOUNT_ATTR_RDONLY із прапором AT_RECURSIVE, використовуючи mount_setattr(2), доданий у ядрі Linux v5.12.noswap, до версії ядра 6.3.Актуальні випуски ядра можна знайти на kernel.org.
Зазвичай існує кілька випусків ядра з довгостроковою підтримкою, які забезпечують зворотне перенесення виправлень для старіших версій ядра. До таких ядер застосовуються лише важливі виправлення помилок, і вони зазвичай виходять не дуже часто, особливо для старіших версій. Перегляньте список випусків на вебсайті ядра Linux в розділі Longterm.
Елементи на цій сторінці відносяться до сторонніх продуктів чи проєктів, які надають функціонал, необхідний для Kubernetes. Автори проєкту Kubernetes не несуть відповідальності за ці проєкти. Ознайомтесь з настановами на вебсайті CNCF для отримання докладної інформації.
Ознайомтесь з посібником з контенту перед тим, як пропонувати додавання посилання на стороні компоненти.