@@ -11,12 +11,19 @@ aliases: /zh/docs/setup/platform-setup/prerequisites
1111
1212## 集群节点上的 Linux 内核模块要求 {#kernel-module-requirements-cluster-nodes}
1313
14- 无论 Istio {{< gloss "data plane" >}}数据平面{{< /gloss >}}模式如何 ,
15- 在 Kubernetes 上下文中 ,Istio 通常需要运行具有 ` iptables ` 支持的 Linux 内核的 Kubernetes 节点才能正常运行。
16- 过去十年中发布的大多数 Linux 内核都包含对 Istio 默认使用的所有 ` iptables `
17- 功能的内置支持 - 要么作为需要时自动加载的内核模块,要么内置 。
14+ 无论 Istio 处于何种 {{< gloss "data plane" >}}数据平面{{< /gloss >}}模式 ,
15+ 在 Kubernetes 环境中 ,Istio 通常要求 Kubernetes
16+ 节点运行支持流量拦截和路由的 Linux 内核。
17+ Istio 支持两种流量管理后端: ` iptables ` (默认)和 ` nftables ` 。
1818
19- 作为参考,下面列出了 Istio 正常运行所需的所有 ` iptables ` 相关内核模块:
19+ 过去十年发布的大多数 Linux 内核都内置了对 Istio 所用功能的支持 - 要么是以内核模块的形式在需要时自动加载,
20+ 要么是直接内置的。所需的具体内核模块取决于您选择使用的后端。
21+
22+ ### iptables 后端 {#iptables-backend}
23+
24+ 使用 ` iptables ` 后端(默认)时,Istio 需要以下内核模块才能正常运行:
25+
26+ #### 主要 iptables 模块 {#primary-iptables-modules}
2027
2128| 模块 | 备注 |
2229| --------------------- | ------------------------ |
@@ -53,8 +60,29 @@ aliases: /zh/docs/setup/platform-setup/prerequisites
5360| ` x_tables ` | |
5461| ` ip_set_hash_ip ` | Ambient 数据平面模式所需 |
5562
56- 虽然不常见,但使用自定义或非标准 Linux 内核或 Linux 发行版可能会导致上面列出的特定模块在主机上不可用,
57- 或者无法由 ` iptables ` 自动加载的情况。例如,此 [ ` selinux issues ` ] ( https://www.suse.com/support/kb/doc/?id=000020241 )
58- 描述了某些 RHEL 版本中的一种情况,其中 ` selinux ` 配置可能会阻止自动加载上面提到的一些内核模块。
63+ ### nftables 后端 {#nftables-backend}
64+
65+ ` nftables ` 框架是 ` iptables ` 的现代替代方案,提供更高的性能和灵活性。
66+ Istio 依赖 ` nft ` 命令行工具来配置 ` nftables ` 规则。
67+ ` nft ` 二进制文件必须为 1.0.1 或更高版本,并且需要 Linux 内核版本 5.13 或更高版本。
68+ 为了使 ` nft ` 命令行工具正常运行,主机系统上必须安装以下内核模块。
69+
70+ | 模块 | 备注 |
71+ | ------------------| ------------------------------------------|
72+ | ` nf_tables ` | 核心 nftables 模块. |
73+ | ` nf_conntrack ` | 需要连接跟踪支持. |
74+ | ` nft_ct ` | |
75+ | ` nf_defrag_ipv4 ` | |
76+ | ` nf_defrag_ipv6 ` | 仅适用于 IPv6/双栈集群 |
77+ | ` nft_nat ` | |
78+ | ` nft_socket ` | |
79+ | ` nft_tproxy ` | |
80+ | ` nft_redir ` | |
81+
82+ ### 内核模块问题 {#kernel-module-issues}
83+
84+ 虽然不常见,但使用自定义或非标准的 Linux 内核或 Linux 发行版可能会导致上述特定模块在主机上不可用,
85+ 或者无法自动加载。例如,这篇 [ ` selinux issue ` ] ( https://www.suse.com/support/kb/doc/?id=000020241 )
86+ 描述了某些 RHEL 版本中 ` selinux ` 配置可能会阻止自动加载上述某些内核模块的情况。
5987
60- 有关执行基于 ` iptables ` 配置的特定 Istio 组件的更多详细信息,请参阅相关的数据平面模式文档。
88+ 有关执行流量拦截和路由配置的具体 Istio 组件的更多详细信息,请参阅相关的数据平面模式文档。
0 commit comments