zh:sync setup/platform-setup/prerequisites/index.md (#11486)

Signed-off-by: Michael <cloudyonspring@126.com>
This commit is contained in:
Michael 2022-07-08 11:44:29 +08:00 committed by GitHub
parent fcf4a8cb7f
commit ac0baf0e26
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 47 additions and 0 deletions

View File

@ -0,0 +1,47 @@
---
title: 平台前提条件
description: 在各平台上安装 Istio 的前提条件。
weight: 1
skip_seealso: true
keywords: [platform-setup,prerequisites]
owner: istio/wg-environments-maintainers
test: no
---
## 集群节点上的 Linux 内核模块要求 {#kernel-module-requirements-cluster-nodes}
在用 Istio 代理 Sidecar 容器运行应用程序 Pod 的集群节点上使用 iptables 拦截模式时需要加载某些内核模块。Istio 也可以工作在没有 iptables 的 `whitebox` 模式下。如果使用的是这种模式,可以忽略本节内容,因为这种模式不需要任何专用的内核模块。
具体而言,`istio-init` 容器或 `istio-cni` 守护进程需要这些内核模块,才能在 Pod 中设置 iptables 规则,将任何传入或传出的流量重定向到 istio-proxy 容器中的 Sidecar 代理。尽管在许多平台上这些模块看起来像是自动加载的,但请务必确保满足相应的前提条件,因为我们曾多次接报以下列出的某些专用模块在主机上不可用,或无法通过 iptables 自动加载。例如,这个 [`selinux issue`](https://www.suse.com/support/kb/doc/?id=000020241) 就在讨论 RHEL 中的 selinux 有时会阻止自动加载下述某些内核模块。
| 模块 | 备注 |
| --- | --- |
| `br_netfilter` | |
| `ip6table_mangle` | 仅适用于 IPv6 或双栈集群 |
| `ip6table_nat` | 仅适用于 IPv6 或双栈集群 |
| `ip6table_raw` | 仅适用于 IPv6 或双栈集群 |
| `iptable_mangle` | |
| `iptable_nat` | |
| `iptable_raw` | 仅适用于 `DNS` 拦截 |
| `xt_REDIRECT` | |
| `xt_connmark` | 仅适用于 `TPROXY` 拦截模式 |
| `xt_conntrack` | |
| `xt_mark` | 仅适用于 `TPROXY` 拦截模式 |
| `xt_owner` | |
| `xt_tcpudp` | |
以下更多模块由上述列出的模块使用,也应该加载到集群节点上:
| 模块 | 备注 |
| --- | --- |
| `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` | |