Вимоги до платформи
Вимоги до модуля ядра на вузлах кластера
Незалежно від режиму панелі даних Istio, у контексті Kubernetes, Istio зазвичай вимагає, щоб вузли Kubernetes працювали на Linux-ядрах з підтримкою iptables
, щоб функціонувати. Більшість Linux-ядер, випущених за останнє десятиліття, включають вбудовану підтримку всіх функцій iptables
, які Istio стандартно використовує — або як модулі ядра, які будуть автоматично завантажені за потреби, або вбудовані.
Для довідки, наведено список всіх модулів ядра, повʼязаних з iptables
, які потрібні для коректної роботи Istio:
Модуль | Примітка |
---|---|
br_netfilter | |
ip6table_mangle | Потрібен лише для кластерів IPv6/подвійний стек |
ip6table_nat | Потрібен лише для кластерів IPv6/подвійний стек |
ip6table_raw | Потрібен лише для кластерів IPv6/подвійний стек |
iptable_mangle | |
iptable_nat | |
iptable_raw | Потрібен лише для перехоплення DNS у режимі sidecar |
xt_REDIRECT | |
xt_connmark | Потрібен для режиму ambient dataplane та для режиму sidecar dataplane з перехопленням TPROXY (за замовчуванням) |
xt_conntrack | |
xt_mark | Потрібен для режиму ambient dataplane та для режиму sidecar dataplane з перехопленням TPROXY (стандартно) |
xt_owner | |
xt_tcpudp | |
xt_multiport | |
ip_set | Потрібен для режиму ambient панелі даних |
Наведені нижче додаткові модулі використовуються зазначеними вище модулями та також повинні бути завантажені на вузлі кластера:
Модуль | Примітка |
---|---|
bridge | |
ip6_tables | Потрібен лише для кластерів IPv6/подвійний стек |
ip_tables | |
nf_conntrack | |
nf_conntrack_ipv4 | |
nf_conntrack_ipv6 | Потрібен лише для кластерів IPv6/подвійний стек |
nf_nat | |
nf_nat_ipv4 | |
nf_nat_ipv6 | Потрібен лише для кластерів IPv6/подвійний стек |
nf_nat_redirect | |
x_tables | |
ip_set_hash_ip | Потрібен для режиму ambient панелі даних |
Хоча це рідкість, використання власних або нестандартних ядер Linux або дистрибутивів Linux може призвести до сценаріїв, коли специфічні модулі, зазначені вище, не доступні на хості або не можуть бути автоматично завантажені iptables
. Наприклад, ця проблема selinux
описує ситуацію в деяких версіях RHEL, де конфігурація selinux
може перешкоджати автоматичному завантаженню деяких з вищезазначених модулів ядра.
Для отримання додаткової інформації про специфічні компоненти Istio, які виконують конфігурацію на основі iptables
, див. відповідну документацію для режиму data plane.