mirror of https://github.com/istio/istio.io.git
[zh] Update zh text in ambient/install pages (#15637)
* [zh] Update ambient/install pages * make lint happy
This commit is contained in:
parent
ae1036cc7b
commit
905b7a3def
|
@ -17,13 +17,14 @@ test: yes
|
|||
{{< /tip >}}
|
||||
|
||||
我们鼓励使用 Helm 在 Ambient 模式下安装 Istio 以供生产使用。
|
||||
为了允许受控升级,控制平面和数据平面组件是分开打包和安装的。
|
||||
(由于 Ambient 数据平面分为 ztunnel 和 waypoint [两个组件](/zh/docs/ambient/architecture/data-plane),
|
||||
因此升级涉及这些组件的单独步骤。)
|
||||
为了允许受控的升级,控制平面和数据平面组件是分开打包和安装的。
|
||||
(由于 Ambient 数据平面分为 ztunnel 和 waypoint
|
||||
[两个组件](/zh/docs/ambient/architecture/data-plane),
|
||||
所以需要单独升级这些组件。)
|
||||
|
||||
## 前提条件 {#prerequisites}
|
||||
|
||||
1. 检查[平台特定先决条件](/zh/docs/ambient/install/platform-preventions)。
|
||||
1. 检查[平台特定的前提条件](/zh/docs/ambient/install/platform-preventions)。
|
||||
|
||||
1. [安装 Helm 客户端](https://helm.sh/docs/intro/install/),版本要求 3.6 或更高。
|
||||
|
||||
|
@ -45,14 +46,16 @@ test: yes
|
|||
[istiod](https://artifacthub.io/packages/helm/istio-official/istiod?modal=values)、
|
||||
[CNI](https://artifacthub.io/packages/helm/istio-official/cni?modal=values)、
|
||||
[ztunnel](https://artifacthub.io/packages/helm/istio-official/ztunnel?modal=values)
|
||||
和 [Gateway](https://artifacthub.io/packages/helm/istio-official/gateway?modal=values) Chart 配置参数。
|
||||
和 [Gateway](https://artifacthub.io/packages/helm/istio-official/gateway?modal=values)
|
||||
Chart 配置参数。
|
||||
{{< /tip >}}
|
||||
|
||||
有关如何使用和自定义 Helm 安装的完整详细信息,
|
||||
请参阅 [Sidecar 安装文档](/zh/docs/setup/install/helm/)。
|
||||
|
||||
与 [istioctl](/zh/docs/ambient/install/istioctl/) 配置文件不同,
|
||||
后者将要安装或删除的组件分组在一起,而 Helm 配置文件只是设置了配置值组。
|
||||
与 [istioctl](/zh/docs/ambient/install/istioctl/)
|
||||
配置文件(它会将要安装或移除的组件放在一组)不同,
|
||||
而 Helm 配置文件只是对配置值做了分组。
|
||||
|
||||
### 基本组件 {#base-components}
|
||||
|
||||
|
@ -65,7 +68,7 @@ $ helm install istio-base istio/base -n istio-system --create-namespace --wait
|
|||
|
||||
### istiod 控制平面 {#istiod-control-plane}
|
||||
|
||||
`istiod` Chart 安装了 Istiod 的修订版。Istiod 是管理和配置代理以在网格内路由流量的控制平面组件。
|
||||
`istiod` Chart 安装了修订版的 Istiod。Istiod 是管理和配置代理以在网格内路由流量的控制平面组件。
|
||||
|
||||
{{< text syntax=bash snip_id=install_istiod >}}
|
||||
$ helm install istiod istio/istiod --namespace istio-system --set profile=ambient --wait
|
||||
|
@ -73,7 +76,7 @@ $ helm install istiod istio/istiod --namespace istio-system --set profile=ambien
|
|||
|
||||
### CNI 节点代理 {#cni-node-agent}
|
||||
|
||||
`cni` Chart 安装 Istio CNI 节点代理。它负责检测属于 Ambient 网格的 Pod,
|
||||
`cni` Chart 安装 Istio CNI 节点代理。此代理负责检测属于 Ambient 网格的 Pod,
|
||||
并配置 Pod 和 ztunnel 节点代理(稍后安装)之间的流量重定向。
|
||||
|
||||
{{< text syntax=bash snip_id=install_cni >}}
|
||||
|
@ -106,7 +109,7 @@ $ helm install istio-ingress istio/gateway -n istio-ingress --create-namespace -
|
|||
|
||||
## 配置 {#configuration}
|
||||
|
||||
要查看已被支持的配置选项和文档,请运行:
|
||||
要查看受支持的配置选项和文档,请运行:
|
||||
|
||||
{{< text syntax=bash >}}
|
||||
$ helm show values istio/istiod
|
||||
|
@ -137,11 +140,11 @@ istiod-5f4c75464f-gskxf 1/1 Running 0 10m
|
|||
ztunnel-c2z4s 1/1 Running 0 10m
|
||||
{{< /text >}}
|
||||
|
||||
### 使用示例应用程序进行验证 {#verifying-with-the-sample-application}
|
||||
### 使用示例应用进行验证 {#verifying-with-the-sample-application}
|
||||
|
||||
使用 Helm 安装 Ambient 模式后,
|
||||
您可以按照[部署示例应用程序](/zh/docs/ambient/getting-started/deploy-sample-app/)指南部署示例应用程序和入口网关,
|
||||
然后您可以[添加您的应用程序到 Ambient 网格中](/zh/docs/ambient/getting-started/secure-and-visualize/#add-bookinfo-to-the-mesh)。
|
||||
您可以按照[部署示例应用](/zh/docs/ambient/getting-started/deploy-sample-app/)指南部署示例应用和入口网关,
|
||||
然后您可以[添加您的应用到 Ambient 网格中](/zh/docs/ambient/getting-started/secure-and-visualize/#add-bookinfo-to-the-mesh)。
|
||||
|
||||
## 卸载 {#uninstall}
|
||||
|
||||
|
@ -193,7 +196,7 @@ ztunnel-c2z4s 1/1 Running 0 10m
|
|||
$ helm delete istio-base -n istio-system
|
||||
{{< /text >}}
|
||||
|
||||
1. 删除 Istio 安装的 CRD(可选)
|
||||
1. 删除通过 Istio 安装的 CRD(可选)
|
||||
|
||||
{{< warning >}}
|
||||
这将删除所有已创建的 Istio 资源。
|
||||
|
|
|
@ -26,9 +26,9 @@ test: yes
|
|||
或传递包含 `IstioOperator` {{<gloss CRD>}}自定义资源{{</gloss>}} 的 YAML 文件,
|
||||
支持完整的 [`IstioOperator` API](/zh/docs/reference/config/istio.operator.v1alpha1/)。
|
||||
|
||||
## 先决条件 {#prerequisites}
|
||||
## 前提条件 {#prerequisites}
|
||||
|
||||
开始之前,请检查以下先决条件:
|
||||
开始之前,请检查以下前提条件:
|
||||
|
||||
1. [下载 Istio 发行版](/zh/docs/setup/additional-setup/download-istio-release/)。
|
||||
1. 执行任何必要的[平台特定设置](/zh/docs/ambient/install/platform-prerequisites/)。
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
title: 平台特定先决条件
|
||||
description: 在 Ambient 模式下安装 Istio 的平台特定先决条件。
|
||||
title: 平台特定的前提条件
|
||||
description: 安装 Ambient 模式的 Istio 时平台特定的前提条件。
|
||||
weight: 2
|
||||
aliases:
|
||||
- /zh/docs/ops/ambient/install/platform-prerequisites
|
||||
|
@ -9,16 +9,17 @@ owner: istio/wg-environments-maintainers
|
|||
test: no
|
||||
---
|
||||
|
||||
本文档涵盖了在 Ambient 模式下安装 Istio 的任何平台或环境特定的先决条件。
|
||||
本文档涵盖了安装 Ambient 模式的 Istio 时各类平台或环境特定的前提条件。
|
||||
|
||||
## 平台 {#platform}
|
||||
|
||||
某些 Kubernetes 环境需要您设置各种 Istio 配置选项来支持它们。
|
||||
某些 Kubernetes 环境需要您设置各种配置选项才能支持 Istio。
|
||||
|
||||
### Google Kubernetes Engine(GKE) {#google-kubernetes-engine-gke}
|
||||
|
||||
在 GKE 上,具有 [system-node-critical](https://kubernetes.io/zh-cn/docs/tasks/administer-cluster/guaranteed-scheduling-critical-addon-pods/)
|
||||
`priorityClassName` 的 Istio 组件只能安装在定义了 [ResourceQuota](https://kubernetes.io/zh-cn/docs/concepts/policy/resource-quotas/)
|
||||
`priorityClassName` 的 Istio 组件只能安装在定义了
|
||||
[ResourceQuota](https://kubernetes.io/zh-cn/docs/concepts/policy/resource-quotas/)
|
||||
的命名空间中。默认情况下,在 GKE 中,只有 `kube-system` 为 `node-critical` 类定义了 ResourceQuota。
|
||||
Istio CNI 节点代理和 `ztunnel` 都需要 `node-critical` 类,因此在 GKE 中,两个组件都必须满足以下任一条件:
|
||||
|
||||
|
@ -42,10 +43,10 @@ spec:
|
|||
- system-node-critical
|
||||
{{< /text >}}
|
||||
|
||||
### k3d {#k3d}
|
||||
### k3d
|
||||
|
||||
如果您将 [k3d](https://k3d.io/) 与默认 Flannel CNI 结合使用,
|
||||
则必须在安装命令中附加一些值,因为 k3d 使用非标准位置来存储 CNI 配置和二进制文件。
|
||||
如果您使用 [k3d](https://k3d.io/) 时采用默认的 Flannel CNI,
|
||||
则必须在安装命令中追加一些值,因为 k3d 使用非标准位置来存放 CNI 配置和二进制文件。
|
||||
|
||||
1. 创建一个禁用 Traefik 的集群,以免与 Istio 的入口网关冲突:
|
||||
|
||||
|
@ -75,12 +76,13 @@ spec:
|
|||
|
||||
{{< /tabset >}}
|
||||
|
||||
### K3s {#k3s}
|
||||
### K3s
|
||||
|
||||
当使用 [K3s](https://k3s.io/) 及其捆绑的 CNI 之一时,
|
||||
你必须在安装命令中附加一些值,因为 K3S 使用非标准位置来存放 CNI 配置和二进制文件。
|
||||
根据 K3s 文档,这些非标准位置也可能会被覆盖。如果你将 K3s 与自定义的非捆绑 CNI 一起使用,
|
||||
则必须为这些 CNI 使用正确的路径,例如 `/etc/cni/net.d` - [有关详细信息,请参阅 K3s 文档](https://docs.k3s.io/zh/networking/basic-network-options#custom-cni)。例如:
|
||||
您必须在安装命令中追加一些值,这是因为 K3s 使用非标准位置来存放 CNI 配置和二进制文件。
|
||||
根据 K3s 文档,这些非标准位置也可能会被覆盖。如果您将 K3s 与自定义的非捆绑 CNI 一起使用,
|
||||
则必须为这些 CNI 使用正确的路径,例如 `/etc/cni/net.d` -
|
||||
[有关细节请参阅 K3s 文档](https://docs.k3s.io/zh/networking/basic-network-options#custom-cni)。例如:
|
||||
|
||||
{{< tabset category-name="install-method" >}}
|
||||
|
||||
|
@ -102,10 +104,11 @@ spec:
|
|||
|
||||
{{< /tabset >}}
|
||||
|
||||
### MicroK8s {#microk8s}
|
||||
### MicroK8s
|
||||
|
||||
如果你在 [MicroK8s](https://microk8s.io/) 上安装 Istio,
|
||||
则必须在安装命令后附加一个值,因为 MicroK8s [使用非标准位置来存储 CNI 配置和二进制文件](https://microk8s.io/docs/change-cidr)。例如:
|
||||
如果您在 [MicroK8s](https://microk8s.io/) 上安装 Istio,
|
||||
则必须在安装命令后附加一个值,因为 MicroK8s
|
||||
[使用非标准位置来存放 CNI 配置和二进制文件](https://microk8s.io/docs/change-cidr)。例如:
|
||||
|
||||
{{< tabset category-name="install-method" >}}
|
||||
|
||||
|
@ -128,11 +131,11 @@ spec:
|
|||
|
||||
{{< /tabset >}}
|
||||
|
||||
### minikube {#minikube}
|
||||
### minikube
|
||||
|
||||
如果你正在使用 [minikube](https://kubernetes.io/docs/tasks/tools/install-minikube/)
|
||||
如果您正在使用 [minikube](https://kubernetes.io/docs/tasks/tools/install-minikube/)
|
||||
和 [Docker 驱动程序](https://minikube.sigs.k8s.io/docs/drivers/docker/),
|
||||
则必须在安装命令中附加一些值,以便 Istio CNI 节点代理可以正确管理和捕获节点上的 Pod。例如:
|
||||
则必须在安装命令中追加一些值,以便 Istio CNI 节点代理可以正确管理和捕获节点上的 Pod。例如:
|
||||
|
||||
{{< tabset category-name="install-method" >}}
|
||||
|
||||
|
@ -154,10 +157,10 @@ spec:
|
|||
|
||||
{{< /tabset >}}
|
||||
|
||||
### Red Hat OpenShift {#red-hat-openshift}
|
||||
### Red Hat OpenShift
|
||||
|
||||
OpenShift 要求在 `kube-system` 命名空间中安装 `ztunnel` 和 `istio-cni` 组件。
|
||||
提供了 `openshift-ambient` 安装配置文件,它将为您进行此更改。
|
||||
如果提供了 `openshift-ambient` 安装配置文件,它将为您进行此更改。
|
||||
在安装命令中将 `profile=ambient` 实例替换为 `profile=openshift-ambient`。例如:
|
||||
|
||||
{{< tabset category-name="install-method" >}}
|
||||
|
@ -180,24 +183,23 @@ OpenShift 要求在 `kube-system` 命名空间中安装 `ztunnel` 和 `istio-cni
|
|||
|
||||
{{< /tabset >}}
|
||||
|
||||
## CNI plugins {#cni-plugins}
|
||||
## CNI 插件 {#cni-plugins}
|
||||
|
||||
当使用某些 {{< gloss "CNI" >}}CNI 插件{{< /gloss >}}时,以下配置适用于所有平台:
|
||||
|
||||
### Cilium {#cilium}
|
||||
### Cilium
|
||||
|
||||
1. Cilium 目前默认主动删除其他 CNI 插件及其配置,
|
||||
并且必须配置 `cni.exclusive = false` 才能正确支持链接。
|
||||
有关更多详细信息,请参阅
|
||||
[Cilium 文档](https://docs.cilium.io/en/stable/helm-reference/)。
|
||||
1. Cilium 目前默认会主动删除其他 CNI 插件及其配置,
|
||||
并且必须配置 `cni.exclusive = false` 才能正确支持链式。
|
||||
更多细节请参阅 [Cilium 文档](https://docs.cilium.io/en/stable/helm-reference/)。
|
||||
1. Cilium 的 BPF 伪装目前默认处于禁用状态,
|
||||
并且在 Istio 使用本地链接 IP 进行 Kubernetes 健康检查时存在问题。
|
||||
并且在 Istio 使用本地链路 IP 进行 Kubernetes 健康检查时存在问题。
|
||||
目前不支持通过 `bpf.masquerade=true` 启用 BPF 伪装,
|
||||
这会导致 Istio Ambient 中的 Pod 健康检查无法正常工作。
|
||||
Cilium 的默认 iptables 伪装实现应该可以继续正常运行。
|
||||
1. 由于 Cilium 管理节点身份并在内部允许节点级健康探针到 Pod 的白名单,
|
||||
在 Cilium CNI 安装下的 Istio Ambient 模式中应用 default-DENY 的 `NetworkPolicy`,
|
||||
将会导致被 Cilium 默认免于 `NetworkPolicy` 执行的 `kubelet` 健康探针被阻塞。
|
||||
所以在 Cilium CNI 安装下的 Istio Ambient 模式中应用 default-DENY 的 `NetworkPolicy`
|
||||
将会导致(Cilium 默认免于执行 `NetworkPolicy`的)`kubelet` 健康探针被阻塞。
|
||||
|
||||
这可以通过应用以下 `CiliumClusterWideNetworkPolicy` 来解决:
|
||||
|
||||
|
@ -214,6 +216,5 @@ OpenShift 要求在 `kube-system` 命名空间中安装 `ztunnel` 和 `istio-cni
|
|||
- "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)
|
||||
了解更多详细信息。
|
||||
更多细节请参阅 [Issue #49277](https://github.com/istio/istio/issues/49277)
|
||||
和 [CiliumClusterWideNetworkPolicy](https://docs.cilium.io/en/stable/network/kubernetes/policy/#ciliumclusterwidenetworkpolicy)。
|
||||
|
|
|
@ -32,7 +32,8 @@ status: Experimental
|
|||
即 ztunnel 和 waypoint,因此升级涉及这些组件的单独步骤。
|
||||
这里简要介绍了升级控制平面和 CRD,但本质上与[在 Sidecar 模式下升级这些组件的过程](/zh/docs/setup/upgrade/canary/)相同。
|
||||
|
||||
与 Sidecar 模式类似,网关可以使用[修订标签](/zh/docs/setup/upgrade/canary/#stable-revision-labels)来对({{< gloss >}}Gateway{{</ gloss >}})升级,
|
||||
与 Sidecar 模式类似,网关可以使用[修订标签](/zh/docs/setup/upgrade/canary/#stable-revision-labels)来对
|
||||
{{< gloss >}}Gateway{{</ gloss >}})升级,
|
||||
包括 waypoint 进行细粒度控制,并可通过简单的控件随时回滚。
|
||||
但是,与 Sidecar 模式不同,ztunnel 作为 DaemonSet(每个节点的代理)运行,
|
||||
这意味着 ztunnel 升级至少一次会影响整个节点。虽然这在许多情况下是可以接受的,
|
||||
|
@ -40,9 +41,9 @@ status: Experimental
|
|||
我们建议在升级给定节点的 ztunnel 之前使用节点封锁和排空。
|
||||
为简单起见,本文档将演示 ztunnel 的就地升级,这可能涉及短暂的停机时间。
|
||||
|
||||
## 先决条件 {#prerequisites}
|
||||
## 前提条件 {#prerequisites}
|
||||
|
||||
### 整理你的标签和修订 {#organize-your-tags-and-revisions}
|
||||
### 整理您的标签和修订 {#organize-your-tags-and-revisions}
|
||||
|
||||
为了安全地在 Ambient 模式下升级网格,您的网关和命名空间应使用 `istio.io/rev` 标签来指定修订标签,
|
||||
该标签控制正在运行的代理版本。我们建议将您的生产集群分成多个标签来组织您的升级。
|
||||
|
@ -80,11 +81,12 @@ $ helm repo update istio
|
|||
升级数据平面只需通过修改标签或编辑标签来更改它指向的控制平面即可。
|
||||
|
||||
由于修订版本是不可变的,我们建议选择与您正在安装的 Istio 版本相对应的修订版本名称,
|
||||
例如 `1-22-1`。除了选择新的修订版本名称外,您还应该记下当前的修订版本名称。您可以通过运行以下命令找到它:
|
||||
例如 `1-22-1`。除了选择新的修订版本名称外,您还应该记下当前的修订版本名称。
|
||||
您可以通过运行以下命令找到它:
|
||||
|
||||
{{< text syntax=bash snip_id=list_revisions >}}
|
||||
$ kubectl get mutatingwebhookconfigurations -l 'istio.io/rev,!istio.io/tag' -L istio\.io/rev
|
||||
$ # Store your revision and new revision in variables:
|
||||
$ # 将您的修订版本和新的修订版本存到变量中:
|
||||
$ export REVISION=istio-1-22-1
|
||||
$ export OLD_REVISION=istio-1-21-2
|
||||
{{< /text >}}
|
||||
|
@ -156,7 +158,7 @@ $ helm upgrade ztunnel istio/ztunnel -n istio-system --set revision="$REVISION"
|
|||
|
||||
如果您遵循了最佳实践,则所有网关、工作负载和命名空间都使用默认修订版本(实际上是名为 `default` 的标签)
|
||||
或 `istio.io/rev` 标签,其值设置为标签名称。
|
||||
现在,您可以通过移动它们的标签以指向新版本(一次一个)来将它们全部升级到 Istio 数据平面的新版本。
|
||||
现在,您可以通过移动它们的标签以指向新版本(一次一个)来将它们全部升级到新版本的 Istio 数据平面。
|
||||
要列出集群中的所有标签,请运行:
|
||||
|
||||
{{< text syntax=bash snip_id=list_tags >}}
|
||||
|
@ -171,8 +173,8 @@ $ helm template istiod istio/istiod -s templates/revision-tags.yaml --set revisi
|
|||
{{< /text >}}
|
||||
|
||||
这将升级引用该标签的所有对象,
|
||||
但使用[手动网关部署模式](/zh/docs/tasks/traffic-management/ingress/gateway-api/#manual-deployment)的对象除外(下文将处理),
|
||||
以及未在 Ambient 模式下使用的 Sidecar。
|
||||
但使用[手动网关部署模式](/zh/docs/tasks/traffic-management/ingress/gateway-api/#manual-deployment)的对象除外
|
||||
(下文将处理),以及未在 Ambient 模式下使用的 Sidecar。
|
||||
|
||||
建议您在升级下一个标签之前密切监控使用升级后的数据平面的应用程序的运行状况。
|
||||
如果检测到问题,您可以回滚标签,将其重置为指向旧修订版本的名称:
|
||||
|
@ -183,7 +185,9 @@ $ helm template istiod istio/istiod -s templates/revision-tags.yaml --set revisi
|
|||
|
||||
### 升级手动部署的网关(可选) {#upgrade-manually-deployed-gateways-optional}
|
||||
|
||||
必须使用 Helm 单独升级[手动部署](/zh/docs/tasks/traffic-management/ingress/gateway-api/#manual-deployment) 的 `Gateway`:
|
||||
必须使用 Helm
|
||||
单独升级[手动部署](/zh/docs/tasks/traffic-management/ingress/gateway-api/#manual-deployment)
|
||||
的 `Gateway`:
|
||||
|
||||
{{< text syntax=bash snip_id=upgrade_gateway >}}
|
||||
$ helm upgrade istio-ingress istio/gateway -n istio-ingress
|
||||
|
|
Loading…
Reference in New Issue