diff --git a/content/zh/docs/ops/ambient/getting-started/index.md b/content/zh/docs/ops/ambient/getting-started/index.md index 984db94332..24ab8504a1 100644 --- a/content/zh/docs/ops/ambient/getting-started/index.md +++ b/content/zh/docs/ops/ambient/getting-started/index.md @@ -9,11 +9,10 @@ test: yes {{< boilerplate ambient-alpha-warning >}} 本指南有助于您快速评估 Istio 的 {{< gloss "ambient" >}}Ambient 模式{{< /gloss >}}。 -以下操作步骤需要您有一个 {{< gloss >}}Cluster{{< /gloss >}} 运行了 -[Istio 支持的](/zh/docs/releases/supported-releases#support-status-of-istio-releases) -Kubernetes 版本 ({{< supported_kubernetes_versions >}})。 -您可以使用 [Minikube](https://kubernetes.io/zh-cn/docs/tasks/tools/install-minikube/) -或[特定平台搭建指南](/zh/docs/setup/platform-setup/)中指定的所有受支持的平台。 +这些步骤要求您有一个运行[受支持版本](/zh/docs/releases/supported-releases#support-status-of-istio-releases)的 +Kubernetes ({{< supported_kubernetes_versions >}}) {{< gloss >}}Cluster{{< /gloss >}}。 +您可以在[任何被支持的 Kubernetes 平台](/zh/docs/setup/platform-setup/)上安装 Istio Ambient 模式,但 +为了简单起见,本指南将假设使用 [kind](https://kind.sigs.k8s.io/)。 {{< tip >}} 请注意,Ambient 模式当前需要使用 [istio-cni](/zh/docs/setup/additional-setup/cni) @@ -32,9 +31,11 @@ Ambient 模式与之前支持 Sidecar 模式的所有主流 CNI 兼容。 ## 下载和安装 {#download} +1. 安装 [kind](https://kind.sigs.k8s.io/) + 1. 下载对 Ambient 模式提供 Alpha 支持的[最新 Istio 版本](/zh/docs/setup/getting-started/#download)(v1.21.0 或更高)。 -1. 如果您没有 Kubernetes 集群,可以参照以下命令使用 `kind` 在本地部署一个集群: +1. 部署一个新的本地 `kind` 集群: {{< text syntax=bash snip_id=none >}} $ kind create cluster --config=- <}} -请注意,如果您正在使用 [Minikube](https://kubernetes.io/zh-cn/docs/tasks/tools/install-minikube/) -(或在节点上为容器配置了非标准 `netns` 路径的任何其他平台), -您可能需要在 `istioctl install` 命令后面追加 `--set values.cni.cniNetnsDir="/var/run/docker/netns"`, -以便 Istio CNI DaemonSet 能够正确管理和捕获节点上的 Pod。 - -有关详细信息,请参阅您的平台文档。 -{{< /tip >}} - {{< tabset category-name="config-api" >}} {{< tab name="Istio API" category-value="istio-apis" >}} diff --git a/content/zh/docs/ops/ambient/install/helm-installation/index.md b/content/zh/docs/ops/ambient/install/helm-installation/index.md index e64da01420..6534ec5bd8 100644 --- a/content/zh/docs/ops/ambient/install/helm-installation/index.md +++ b/content/zh/docs/ops/ambient/install/helm-installation/index.md @@ -13,7 +13,7 @@ Helm 帮助您单独管理组件,您可以轻松地将组件升级到最新版 ## 前提条件 {#prerequisites} -1. 执行任何必要的[平台特定设置](/zh/docs/setup/platform-setup/)。 +1. 检查[平台特定先决条件](/zh/docs/ops/ambient/install/platform-preventions)。 1. 检查 [Pod 和 Service 的要求](/zh/docs/ops/deployment/requirements/)。 diff --git a/content/zh/docs/ops/ambient/install/platform-prerequisites/index.md b/content/zh/docs/ops/ambient/install/platform-prerequisites/index.md new file mode 100644 index 0000000000..cf699e3262 --- /dev/null +++ b/content/zh/docs/ops/ambient/install/platform-prerequisites/index.md @@ -0,0 +1,50 @@ +--- +title: 平台特定先决条件 +description: 在 Ambient 模式下安装 Istio 的平台特定先决条件。 +weight: 4 +owner: istio/wg-environments-maintainers +test: no +--- + +本文档涵盖了在 Ambient 模式下安装 Istio 的任何特定于平台或环境的先决条件。 + +## 平台 {#platform} + +### Minikube {#minikube} + +1. 如果您使用 [Minikube](https://kubernetes.io/docs/tasks/tools/install-minikube/) + 以及 [Docker 驱动](https://minikube.sigs.k8s.io/docs/drivers/docker/), + 必须在 `helm install` 命令后追加 `--set cni.cniNetnsDir="/var/run/docker/netns"`, + 以便 `istio-cni` 节点代理能够正确管理和捕获节点上的 Pod。 + +## CNI {#cni} + +### Cilium {#cilium} + +1. Cilium 目前默认主动删除其他 CNI 插件及其配置, + 并且必须配置 `cni.exclusive = false` 才能正确支持链接。 + 有关更多详细信息,请参阅 + [Cilium 文档](https://docs.cilium.io/en/stable/helm-reference/)。 + +1. 由于 Cilium 管理节点身份并在内部允许节点级健康探针到 Pod 的白名单, + 在 Cilium CNI 安装下的 Istio Ambient 模式中应用 default-DENY 的 `NetworkPolicy`, + 将会导致被 Cilium 默认免于 `NetworkPolicy` 执行的 `kubelet` 健康探针被阻塞。 + + 这可以通过应用以下 `CiliumClusterWideNetworkPolicy` 来解决: + + {{< text syntax=yaml snip_id=none >}} + apiVersion: "cilium.io/v2" + kind: CiliumClusterwideNetworkPolicy + metadata: + name: "allow-ambient-hostprobes" + spec: + description: "Allows SNAT-ed kubelet health check probes into ambient pods" + endpointSelector: {} + ingress: + - fromCIDR: + - "169.254.7.127/32" + {{< /text >}} + + 请参阅 [Issue #49277](https://github.com/istio/istio/issues/49277) + 和 [CiliumClusterWideNetworkPolicy](https://docs.cilium.io/en/stable/network/kubernetes/policy/#ciliumclusterwidenetworkpolicy) + 了解更多详细信息。