平台需求

叢集節點上的核心模組需求

無論 Istio 的資料平面模式為何,在 Kubernetes 環境中,Istio 通常需要運行 Linux 核心且支援 iptables 的 Kubernetes 節點才能正常運作。過去十年發布的大多數 Linux 核心都內建支援 Istio 預設使用的所有 iptables 功能 - 無論是作為需要時會自動載入的核心模組,還是內建。

作為參考,以下列出了 Istio 正常運作所需的所有與 iptables 相關的核心模組

模組備註
br_netfilter
ip6table_mangle僅適用於 IPv6/雙堆疊叢集
ip6table_nat僅適用於 IPv6/雙堆疊叢集
ip6table_raw僅適用於 IPv6/雙堆疊叢集
iptable_mangle
iptable_nat
iptable_raw僅在 Sidecar 模式中進行 DNS 攔截時需要
xt_REDIRECT
xt_connmarkAmbient 資料平面模式和使用 TPROXY 攔截(預設)的 Sidecar 資料平面模式需要
xt_conntrack
xt_markAmbient 資料平面模式和使用 TPROXY 攔截(預設)的 Sidecar 資料平面模式需要
xt_owner
xt_tcpudp
xt_multiport
ip_setAmbient 資料平面模式需要

以下額外模組由以上列出的模組使用,也應載入到叢集節點上

模組備註
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_ipAmbient 資料平面模式需要

雖然不常見,但使用自訂或非標準 Linux 核心或 Linux 發行版可能會導致主機上無法使用上述列出的特定模組,或者 iptables 無法自動載入這些模組的情況。例如,此 selinux 問題描述了在某些 RHEL 版本中,selinux 設定可能會阻止自動載入上述某些核心模組的情況。

有關執行基於 iptables 設定的特定 Istio 元件的更多詳細資訊,請參閱相關的資料平面模式文件。

這項資訊對您有用嗎?
您是否有任何改進建議?

感謝您的回饋!