Skip to content

Commit ceccef9

Browse files
authored
Sync #16057 helm and istioctl setup docs into Chinese (#16090)
1 parent 992546f commit ceccef9

File tree

2 files changed

+68
-44
lines changed

2 files changed

+68
-44
lines changed

Diff for: content/zh/docs/setup/install/helm/index.md

+46-2
Original file line numberDiff line numberDiff line change
@@ -148,8 +148,9 @@ $ helm install <release> <chart> --namespace <namespace> --create-namespace [--s
148148
### 从非 Helm 安装迁移 {#migrating-from-non-helm-installations}
149149

150150
如果你要从使用 `istioctl` 安装的 Istio 版本迁移到 Helm(Istio 1.5 或更早版本),
151-
则需要删除当前的 Istio 控制平面资源,并根据上面的说明,使用 Helm 重新安装 Istio。
152-
在删除当前 Istio 时,千万不能删掉 Istio 的自定义资源定义(CRD),以免丢掉您的自定义 Istio 资源。
151+
则需要删除当前的 Istio 控制平面资源,并根据上面的说明,
152+
使用 Helm 重新安装 Istio。在删除当前 Istio 时,
153+
千万不能删掉 Istio 的自定义资源定义(CRD),以免丢掉您的自定义 Istio 资源。
153154

154155
{{< warning >}}
155156
建议:从集群中删除 Istio 前,使用上面的说明备份您的 Istio 资源。
@@ -216,3 +217,46 @@ $ helm install <release> <chart> --namespace <namespace> --create-namespace [--s
216217
{{< text syntax=bash snip_id=delete_crds >}}
217218
$ kubectl get crd -oname | grep --color=never 'istio.io' | xargs kubectl delete
218219
{{< /text >}}
220+
221+
## 安装前生成清单 {#generate-a-manifest-before-installation}
222+
223+
您可以在安装 Istio 之前使用 `helm template` 子命令为每个组件生成清单。
224+
例如,要为 `istiod` 组件生成可以使用 `kubectl` 安装的清单:
225+
226+
{{< text syntax=bash snip_id=none >}}
227+
$ helm template istiod istio/istiod -n istio-system --kube-version {Kubernetes version of target cluster} > istiod.yaml
228+
{{< /text >}}
229+
230+
生成的清单可用于检查具体安装了什么以及跟踪清单随时间的变化。
231+
232+
{{< tip >}}
233+
您通常用于安装的任何其他标志或自定义值覆盖也应提供给 `helm template` 命令。
234+
{{< /tip >}}
235+
236+
要安装上面生成的清单,它将在目标集群中创建 `istiod` 组件:
237+
238+
{{< text syntax=bash snip_id=none >}}
239+
$ kubectl apply -f istiod.yaml
240+
{{< /text >}}
241+
242+
{{< warning >}}
243+
如果尝试使用 `helm template` 安装和管理 Istio,请注意以下注意事项:
244+
245+
1. 必须手动创建 Istio 命名空间(默认为 `istio-system`)。
246+
247+
1. 资源可能未按照与 `helm install` 相同的依赖顺序进行安装
248+
249+
1. 此方法尚未作为 Istio 版本的一部分进行测试。
250+
251+
1. 虽然 `helm install` 会自动从 Kubernetes 上下文中检测特定于环境的设置,
252+
`helm template` 无法做到这一点,因为它是离线运行的,
253+
这可能会导致意外结果。特别是,如果您的 Kubernetes 环境不支持第三方服务帐户令牌,
254+
您必须确保遵循[这些步骤](/zh/docs/ops/best-practices/security/#configure-third-party-service-account-tokens)
255+
256+
1. 由于集群中的资源没有按正确的顺序可用,生成的清单的 `kubectl apply` 可能会显示瞬态错误。
257+
258+
1. `helm install` 会自动修剪配置更改时应删除的任何资源(例如,如果您删除网关)。
259+
当您将 `helm template``kubectl` 一起使用时,
260+
不会发生这种情况,必须手动删除这些资源。
261+
262+
{{< /warning >}}

Diff for: content/zh/docs/setup/install/istioctl/index.md

+22-42
Original file line numberDiff line numberDiff line change
@@ -100,20 +100,22 @@ $ istioctl install --set profile=demo
100100

101101
## 安装前生成清单文件 {#generate-a-manifest-before-installation}
102102

103-
在安装 Istio 之前,可以用 `manifest generate` 子命令生成清单文件。
104-
例如,用下面命令生成 `default` 配置档的清单文件:
103+
在安装 Istio 之前,可以用 `manifest generate`
104+
子命令生成清单文件。例如,使用以下命令为可以使用 `kubectl`
105+
安装的 `default` 配置文件生成清单:
105106

106107
{{< text bash >}}
107108
$ istioctl manifest generate > $HOME/generated-manifest.yaml
108109
{{< /text >}}
109110

110-
生成的清单文件可用于检查具体安装了什么,也可用于跟踪清单是如何随着时间而改变的。
111-
虽然 `IstioOperator` CR 代表完整的用户配置,足以用于跟踪,
112-
`manifest generate` 命令的输出还能截获底层 chart 潜在的改变,因此可以用于跟踪实际安装过的资源。
111+
生成的清单可用于检查具体安装了什么以及跟踪清单随时间的变化。
112+
虽然 `IstioOperator` CR 代表完整的用户配置并且足以跟踪它,
113+
`manifest generate` 的输出还捕获了底层图表中可能的变化,
114+
因此可用于跟踪实际安装的资源。
113115

114-
`manifest generate` 的输出还能传递给 `kubectl apply` 或类似的命令,用来安装 Istio。
115-
然而,这些替代的安装方法不能像 `istioctl install` 那样,将相同的依赖顺序应用于资源,
116-
并且也没有在 Istio 发行版中测试过。
116+
{{< tip >}}
117+
您通常用于安装的任何其他标志或自定义值覆盖也应提供给 `istioctl manifest generate` 命令。
118+
{{< /tip >}}
117119

118120
{{< warning >}}
119121
如果尝试使用 `istioctl manifest generate` 安装和管理 Istio,请注意以下事项:
@@ -127,48 +129,26 @@ $ istioctl manifest generate > $HOME/generated-manifest.yaml
127129
$ istioctl manifest generate --set values.defaultRevision=default
128130
{{< /text >}}
129131

132+
1. 资源可能没有按照与 `istioctl install` 相同的依赖项顺序进行安装。
133+
134+
1. 此方法尚未作为 Istio 版本的一部分进行测试。
135+
130136
1. `istioctl install` 会在 Kubernetes 上下文中自动探测环境特定的设置,
131137
但以离线运行的 `manifest generate` 不行,而且可能导致意外结果。
132-
特别是,如果 Kubernetes 环境不支持第三方服务帐户令牌,则必须确保遵循[这些步骤](/zh/docs/ops/best-practices/security/#configure-third-party-service-account-tokens)
138+
特别是,如果 Kubernetes 环境不支持第三方服务帐户令牌,
139+
则必须确保遵循[这些步骤](/zh/docs/ops/best-practices/security/#configure-third-party-service-account-tokens)
140+
建议在 `istio manifest generate` 命令后附加'`--cluster-specific` 以检测目标集群的环境,
141+
这会将这些特定于集群的环境设置嵌入到生成的清单中。这需要对正在运行的集群进行网络访问。
133142

134-
1.`kubectl apply` 执行生成的清单,会显示临时错误,这是因为集群中的资源进入可用状态的顺序有问题。
143+
1.`kubectl apply` 执行生成的清单,会显示临时错误,
144+
这是因为集群中的资源进入可用状态的顺序有问题。
135145

136146
1. `istioctl install` 自动清除一些资源,其实这些资源在配置改变时(例如,当您删除网关)就应该被删掉了。
137-
但此机制在 `kubectl``istio manifest generate` 协同使用时并不会发生,所以这些资源必须手动删除。
147+
但此机制在 `kubectl``istio manifest generate`
148+
协同使用时并不会发生,所以这些资源必须手动删除。
138149

139150
{{< /warning >}}
140151

141-
## 显示清单的差异 {#show-differences-in-manifests}
142-
143-
使用这一组命令,以 YAML 风格的差异对比方式,显示 default 配置项和定制安装生成的两个清单之间的差异:
144-
145-
{{< text bash >}}
146-
$ istioctl manifest generate > 1.yaml
147-
$ istioctl manifest generate -f samples/operator/pilot-k8s.yaml > 2.yaml
148-
$ istioctl manifest diff 1.yaml 2.yaml
149-
Differences in manifests are:
150-
151-
152-
Object Deployment:istio-system:istiod has diffs:
153-
154-
spec:
155-
template:
156-
spec:
157-
containers:
158-
'[#0]':
159-
resources:
160-
requests:
161-
cpu: 500m -> 1000m
162-
memory: 2048Mi -> 4096Mi
163-
164-
165-
Object HorizontalPodAutoscaler:istio-system:istiod has diffs:
166-
167-
spec:
168-
maxReplicas: 5 -> 10
169-
minReplicas: 1 -> 2
170-
{{< /text >}}
171-
172152
## 验证安装是否成功 {#verify-a-successful-installation}
173153

174154
您可以用 `verify-install` 命令检查 Istio 是否安装成功,此命令用您指定的清单对比集群中实际的安装情况。

0 commit comments

Comments
 (0)