From 6b25bcc3d9781998d2bbb106c890fbb30a65544b Mon Sep 17 00:00:00 2001 From: my-git9 Date: Thu, 24 Aug 2023 17:41:00 +0800 Subject: [PATCH] [zh] improve tencent-cloud-mesh prerequisites (#13761) Signed-off-by: xin.li --- .../platform-setup/prerequisites/index.md | 67 ++++++++++--------- .../tencent-cloud-mesh/index.md | 23 +++++-- 2 files changed, 53 insertions(+), 37 deletions(-) diff --git a/content/zh/docs/setup/platform-setup/prerequisites/index.md b/content/zh/docs/setup/platform-setup/prerequisites/index.md index a0b3954787..49fcc4c76f 100644 --- a/content/zh/docs/setup/platform-setup/prerequisites/index.md +++ b/content/zh/docs/setup/platform-setup/prerequisites/index.md @@ -10,38 +10,45 @@ test: no ## 集群节点上的 Linux 内核模块要求 {#kernel-module-requirements-cluster-nodes} -在用 Istio 代理 Sidecar 容器运行应用程序 Pod 的集群节点上使用 iptables 拦截模式时,需要加载某些内核模块。Istio 也可以工作在没有 iptables 的 `whitebox` 模式下。如果使用的是这种模式,可以忽略本节内容,因为这种模式不需要任何专用的内核模块。 +在用 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 有时会阻止自动加载下述某些内核模块。 +具体而言,`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` | | +| 模块 | 备注 | +| --------------------- | ------------------------ | +| `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` | | +| 模块 | 备注 | +| -------------------- | --------------------- | +| `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` | | diff --git a/content/zh/docs/setup/platform-setup/tencent-cloud-mesh/index.md b/content/zh/docs/setup/platform-setup/tencent-cloud-mesh/index.md index 43ccf6a5dc..82f5676034 100644 --- a/content/zh/docs/setup/platform-setup/tencent-cloud-mesh/index.md +++ b/content/zh/docs/setup/platform-setup/tencent-cloud-mesh/index.md @@ -10,15 +10,19 @@ test: n/a ## 准备工作 {#prerequisites} -请参考以下的说明为 Istio 搭建一个 [Tencent Kubernetes Engine](https://cloud.tencent.com/product/tke) 或者 [Elastic Kubernetes Service](https://cloud.tencent.com/product/eks) 集群 +请参考以下的说明为 Istio 搭建一个 [Tencent Kubernetes Engine](https://cloud.tencent.com/product/tke) +或者 [Elastic Kubernetes Service](https://cloud.tencent.com/product/eks) 集群 -您可以在腾讯云上基于 [Tencent Kubernetes Engine](https://cloud.tencent.com/document/product/457/32189) 或者 [Elastic Kubernetes Service](https://cloud.tencent.com/document/product/457/39813) 部署一个 Kubernetes 集群,这两种集群都完全支持 Istio 的安装与部署。 +您可以在腾讯云上基于 [Tencent Kubernetes Engine](https://cloud.tencent.com/document/product/457/32189) +或者 [Elastic Kubernetes Service](https://cloud.tencent.com/document/product/457/39813) +部署一个 Kubernetes 集群,这两种集群都完全支持 Istio 的安装与部署。 {{< image link="./tke.png" caption="创建集群" >}} ## 步骤 {#procedure} -在创建了一个 TKE 或者 EKS 集群之后,您能够在 [Tencent Cloud Mesh](https://cloud.tencent.com/product/tcm) 中快速的部署和使用 Istio。 +在创建了一个 TKE 或者 EKS 集群之后,您能够在 [Tencent Cloud Mesh](https://cloud.tencent.com/product/tcm) +中快速的部署和使用 Istio。 {{< image link="./tcm.png" caption="创建腾讯服务网格" >}} @@ -39,7 +43,8 @@ test: n/a 1. 选择服务网格的部署模式:**独立网格**或者是**托管网格**。 {{< tip >}} - Tencent Cloud Mesh 支持 **独立网格模式**,Istiod 在用户集群中运行并由用户自身维护;同时也支持 **托管网格模式**,Istiod 在托管面中运行并由 Tencent Cloud Mesh 团队维护。 + Tencent Cloud Mesh 支持**独立网格模式**,Istiod 在用户集群中运行并由用户自身维护; + 同时也支持**托管网格模式**,Istiod 在托管面中运行并由 Tencent Cloud Mesh 团队维护。 {{< /tip >}} 1. 配置 Egress 的流量规则:`Register Only` 或者是 `Allow Any`。 @@ -48,12 +53,14 @@ test: n/a 1. 选择在指定 Namespaces 下开启 Sidecar 自动注入。 -1. 配置外部请求绕过 Sidecar 直接访问的 IP 地址块,外部请求流量将无法使用 Istio 流量管理、可观测性等特性。默认所有外部请求转发至 Sidecar。 +1. 配置外部请求绕过 Sidecar 直接访问的 IP 地址块,外部请求流量将无法使用 Istio + 流量管理、可观测性等特性。默认所有外部请求转发至 Sidecar。 1. 选择开启 Sidecar 就绪保障。 {{< tip >}} - 开启后业务容器将等待 Sidecar 就绪后再启动,将一定程度增加 Pod 启动时长,建议对于业务逻辑中有 Sidecar 功能强依赖的服务开启。 + 开启后业务容器将等待 Sidecar 就绪后再启动,将一定程度增加 Pod 启动时长, + 建议对于业务逻辑中有 Sidecar 功能强依赖的服务开启。 {{< /tip >}} {{< image link="./ingress-egress.png" caption="配置 Gateway" >}} @@ -65,7 +72,9 @@ test: n/a 1. 配置 Metrics,Tracing,Logging 相关的可观测性的能力。 {{< tip >}} - 除了默认的云监控服务外,您能够选择开启高级外部服务,如 [Prometheus 监控服务](https://cloud.tencent.com/product/tmp) 和 [日志服务](https://cloud.tencent.com/product/cls). + 除了默认的云监控服务外,您能够选择开启高级外部服务,如 + [Prometheus 监控服务](https://cloud.tencent.com/product/tmp) + 和[日志服务](https://cloud.tencent.com/product/cls)。 {{< /tip >}} 在完成这些步骤,并确认配置创建 Istio 后,就可以开始在 Tencent Cloud Mesh 中使用 Istio 了。