From 0db1c3809abb1641103421c177de3a0f1c817562 Mon Sep 17 00:00:00 2001 From: Wilson Wu Date: Fri, 13 Sep 2024 00:38:59 +0800 Subject: [PATCH] Sync #15595 bump master to next version into Chinese --- .../faq/setup/install-method-selection.md | 28 +- .../2019/introducing-istio-operator/index.md | 2 +- .../index.md | 2 +- content/zh/boilerplates/helm-preamble.md | 10 +- .../zh/docs/ambient/usage/waypoint/index.md | 2 + .../zh/docs/ops/integrations/spire/index.md | 1 - content/zh/docs/setup/_index.md | 2 + .../install/external-controlplane/index.md | 15 +- content/zh/docs/setup/install/helm/index.md | 8 +- .../install/multiple-controlplanes/index.md | 4 +- .../zh/docs/setup/install/operator/index.md | 353 ------------------ .../egress-kubernetes-services/index.md | 3 +- .../releases/1.23.x/announcing-1.23/_index.md | 2 +- .../announcing-1.4/change-notes/index.md | 2 +- .../releases/1.5.x/announcing-1.5/_index.md | 2 +- 15 files changed, 31 insertions(+), 405 deletions(-) delete mode 100644 content/zh/docs/setup/install/operator/index.md diff --git a/content/zh/about/faq/setup/install-method-selection.md b/content/zh/about/faq/setup/install-method-selection.md index f3aeeb73f263..b03dcfcabc18 100644 --- a/content/zh/about/faq/setup/install-method-selection.md +++ b/content/zh/about/faq/setup/install-method-selection.md @@ -15,12 +15,11 @@ weight: 10 - 完整的配置和运行状态的验证。 - 使用提供了扩展的配置、自定义选项的 `IstioOperator` API。 - - 不需要在集群内运行特权 Pod,通过执行 `istioctl` 命令修改。 缺点: - 需要维护多个 Istio 次要版本的二进制文件。 - - `istioctl` 命令可能根据您的运行环境设置诸如 `JWT_POLICY` 之类的值,从而能够在不同的 + - `istioctl` 命令可能根据您的运行环境自动设置相关值,从而能够在不同的 Kubernetes 环境中进行不同的安装。 1. [使用 istioctl 生成清单](/zh/docs/setup/install/istioctl/#generate-a-manifest-before-installation) @@ -30,12 +29,12 @@ weight: 10 优点: - - 资源是由与 `istioctl install` 和 Operator 里使用的相同的 `IstioOperator` API 生成的。 + - 资源是由与 `istioctl install` 中使用相同的 `IstioOperator` API 生成的。 - 使用提供了扩展的配置、自定义选项的 `IstioOperator` API。 缺点: - - 一些在 `istioctl install` 和 Operator 中执行的未完成的检查将不会执行。 + - 一些在 `istioctl install` 中执行的未完成的检查将不会执行。 - 与 `istioctl install` 相比,UX 的精简程度较低。 - 错误报告不如 `istioctl install` 的错误报告详细、全面。 @@ -50,26 +49,7 @@ weight: 10 缺点: - - 相比于 `istioctl install` 和 Operator 相比,检查较少。 + - 相比于 `istioctl install`,检查较少。 - 一些高权限任务需要更多步骤,并且具有更高的复杂性。 -1. [Istio Operator](/zh/docs/setup/install/operator/) - - {{< warning >}} - 不建议在新安装时使用 Operator,虽然 Operator 将继续得到支持,但新特性请求将不会被优先化。 - {{< /warning >}} - - Istio Operator 提供了一个不需要 `istioctl` 二进制文件的安装方式。这可以用于简化升级工作流, - 其中不需要考虑集群内特权控制器的运行,此方法适用于不需要严格审计或增加输出清单的情况。 - - 优点: - - - 与 `istioctl install` 使用相同的 API,但驱动是通过集群中的一个带有完全声明式操作的控制器。 - - 使用提供了扩展的配置、自定义选项的 `IstioOperator` API。 - - 不需要管理多个 `istioctl` 二进制文件。 - - 缺点: - - - 集群中运行的特权控制器存在安全风险。 - 这些安装方式的安装向导在 [Istio 安装页面](/zh/docs/setup/install)中。 diff --git a/content/zh/blog/2019/introducing-istio-operator/index.md b/content/zh/blog/2019/introducing-istio-operator/index.md index 4c5c7092b2d4..c4f40e69dcb3 100644 --- a/content/zh/blog/2019/introducing-istio-operator/index.md +++ b/content/zh/blog/2019/introducing-istio-operator/index.md @@ -81,7 +81,7 @@ $ istioctl manifest apply --set telemetry.enabled=false Operator 实现使用 Kubernetes controller 来持续监控它们的自定义资源并应用相应的配置更改。Istio controller 监控一个 `IstioControlPlane` 资源,并通过更新相应集群中的 Istio 安装配置来响应更改。 -在 1.4 版中,Istio controller 处于开发的 alpha 阶段,没有完全集成到 `istioctl` 中。但是,可以使用 `kubectl` 命令来做[实验](/zh/docs/setup/install/standalone-operator/)。例如,要将 controller 和默认版本的 Istio 安装到集群中,请运行以下命令: +在 1.4 版中,Istio controller 处于开发的 alpha 阶段,没有完全集成到 `istioctl` 中。但是,可以使用 `kubectl` 命令来做[实验](https://archive.istio.io/v1.23/docs/setup/install/operator/)。例如,要将 controller 和默认版本的 Istio 安装到集群中,请运行以下命令: {{< text bash >}} $ kubectl apply -f https:///operator.yaml diff --git a/content/zh/blog/2024/in-cluster-operator-deprecation-announcement/index.md b/content/zh/blog/2024/in-cluster-operator-deprecation-announcement/index.md index eb32e9a53e72..8b1521ffbd53 100644 --- a/content/zh/blog/2024/in-cluster-operator-deprecation-announcement/index.md +++ b/content/zh/blog/2024/in-cluster-operator-deprecation-announcement/index.md @@ -12,7 +12,7 @@ Istio 1.24 或更高版本。请继续阅读以了解我们进行此更改的原 ## 这对您有影响吗? {#does-this-affect-you} -此弃用仅影响 [In-Cluster Operator](/zh/docs/setup/install/operator/) 的用户。 +此弃用仅影响 [In-Cluster Operator](https://archive.istio.io/v1.23/zh/docs/setup/install/operator/) 的用户。 **使用 istioctl install 命令和 `IstioOperator` YAML 文件安装 Istio 的用户不受影响**。 要确定您是否受到影响,请运行 `kubectl get deployment -n istio-system istio-operator` diff --git a/content/zh/boilerplates/helm-preamble.md b/content/zh/boilerplates/helm-preamble.md index b86f2c7d708d..41cf3ee0bd4b 100644 --- a/content/zh/boilerplates/helm-preamble.md +++ b/content/zh/boilerplates/helm-preamble.md @@ -1,8 +1,6 @@ --- --- -本指南中使用的 `base` 和 `istiod` Helm Chart 与通过 -[Istioctl](/zh/docs/setup/install/istioctl/) 或 -[Operator](/zh/docs/setup/install/operator/) 安装 Istio 时使用的 Chart 相同。 -但是,通过 Istioctl 和 Operator 进行安装时使用了与本指南所述 -[Chart]({{< github_tree >}}/manifests/charts/gateway) -不同的[网关 Chart]({{< github_tree >}}/manifests/charts/gateways/istio-ingress)。 +本指南中使用的 `base` 和 `istiod` 的 Helm Chart 与通过 +[Istioctl](/zh/docs/setup/install/istioctl/) 安装 Istio 时使用的相同。 +但是,通过 Istioctl 安装使用的[网关 Chart]({{< github_tree >}}/manifests/charts/gateways/istio-ingress) +与本指南中描述的 [Chart]({{< github_tree >}}/manifests/charts/gateway) 不同 diff --git a/content/zh/docs/ambient/usage/waypoint/index.md b/content/zh/docs/ambient/usage/waypoint/index.md index 8d1e6adc925e..efb3ecf8311a 100644 --- a/content/zh/docs/ambient/usage/waypoint/index.md +++ b/content/zh/docs/ambient/usage/waypoint/index.md @@ -62,6 +62,7 @@ default Active 24h ambient {{< text syntax=bash snip_id=gen_waypoint_resource >}} $ istioctl waypoint generate --for service -n default +apiVersion: gateway.networking.k8s.io/v1 kind: Gateway metadata: labels: @@ -91,6 +92,7 @@ waypoint default/waypoint applied {{< text syntax=bash >}} $ kubectl apply -f - <}} $ kubectl create namespace external-istiod --context="${CTX_REMOTE_CLUSTER}" - $ istioctl manifest generate -f remote-config-cluster.yaml --set values.defaultRevision=default | kubectl apply --context="${CTX_REMOTE_CLUSTER}" -f - + $ istioctl install -f remote-config-cluster.yaml --set values.defaultRevision=default --context="${CTX_REMOTE_CLUSTER}" {{< /text >}} 1. 确认从集群的注入 Webhook 配置已经安装: {{< text bash >}} $ kubectl get mutatingwebhookconfiguration --context="${CTX_REMOTE_CLUSTER}" - NAME WEBHOOKS AGE - istio-sidecar-injector-external-istiod 4 6m24s + NAME WEBHOOKS AGE + istio-revision-tag-default-external-istiod 4 2m2s + istio-sidecar-injector-external-istiod 4 2m5s {{< /text >}} 1. 确认已安装从集群的验证 Webhook 配置: @@ -754,7 +755,7 @@ $ export SECOND_CLUSTER_NAME=<您的第二个从集群名称> 1. 在从集群上安装配置: {{< text bash >}} - $ istioctl manifest generate -f second-remote-cluster.yaml | kubectl apply --context="${CTX_SECOND_CLUSTER}" -f - + $ istioctl install -f second-remote-cluster.yaml --context="${CTX_SECOND_CLUSTER}" {{< /text >}} 1. 确认从集群的注入 Webhook 配置已经安装: @@ -872,7 +873,7 @@ $ export SECOND_CLUSTER_NAME=<您的第二个从集群名称> {{< text bash >}} $ kubectl delete -f external-istiod-gw.yaml --context="${CTX_EXTERNAL_CLUSTER}" -$ istioctl uninstall -y --purge --context="${CTX_EXTERNAL_CLUSTER}" +$ istioctl uninstall -y --purge -f external-istiod.yaml --context="${CTX_EXTERNAL_CLUSTER}" $ kubectl delete ns istio-system external-istiod --context="${CTX_EXTERNAL_CLUSTER}" $ rm controlplane-gateway.yaml external-istiod.yaml external-istiod-gw.yaml {{< /text >}} @@ -881,7 +882,7 @@ $ rm controlplane-gateway.yaml external-istiod.yaml external-istiod-gw.yaml {{< text bash >}} $ kubectl delete ns sample --context="${CTX_REMOTE_CLUSTER}" -$ istioctl manifest generate -f remote-config-cluster.yaml --set values.defaultRevision=default | kubectl delete --context="${CTX_REMOTE_CLUSTER}" -f - +$ istioctl uninstall -y --purge -f remote-config-cluster.yaml --set values.defaultRevision=default --context="${CTX_REMOTE_CLUSTER}" $ kubectl delete ns external-istiod --context="${CTX_REMOTE_CLUSTER}" $ rm remote-config-cluster.yaml istio-ingressgateway.yaml $ rm istio-egressgateway.yaml eastwest-gateway-1.yaml || true @@ -891,7 +892,7 @@ $ rm istio-egressgateway.yaml eastwest-gateway-1.yaml || true {{< text bash >}} $ kubectl delete ns sample --context="${CTX_SECOND_CLUSTER}" -$ istioctl manifest generate -f second-remote-cluster.yaml | kubectl delete --context="${CTX_SECOND_CLUSTER}" -f - +$ istioctl uninstall -y --purge -f second-remote-cluster.yaml --context="${CTX_SECOND_CLUSTER}" $ kubectl delete ns external-istiod --context="${CTX_SECOND_CLUSTER}" $ rm second-remote-cluster.yaml eastwest-gateway-2.yaml {{< /text >}} diff --git a/content/zh/docs/setup/install/helm/index.md b/content/zh/docs/setup/install/helm/index.md index f67fd91461ba..7e8ffdabfff8 100644 --- a/content/zh/docs/setup/install/helm/index.md +++ b/content/zh/docs/setup/install/helm/index.md @@ -157,17 +157,15 @@ $ helm install --namespace --create-namespace [--s ### 从非 Helm 安装迁移 {#migrating-from-non-helm-installations} -如果您需要将使用 `istioctl` 或 Operator 安装的 Istio 迁移到 Helm, -那要删除当前 Istio 控制平面资源,并根据上面的说明,使用 Helm 重新安装 Istio。 +如果你要从使用 `istioctl` 安装的 Istio 版本迁移到 Helm(Istio 1.5 或更早版本), +则需要删除当前的 Istio 控制平面资源,并根据上面的说明,使用 Helm 重新安装 Istio。 在删除当前 Istio 时,千万不能删掉 Istio 的自定义资源定义(CRD),以免丢掉您的自定义 Istio 资源。 {{< warning >}} 建议:从集群中删除 Istio 前,使用上面的说明备份您的 Istio 资源。 {{< /warning >}} -依据您的安装方式,选择 -[Istioctl 卸载指南](/zh/docs/setup/install/istioctl#uninstall-istio)或 -[Operator 卸载指南](/zh/docs/setup/install/operator/#uninstall)。 +您可以按照 [Istioctl 卸载指南](/zh/docs/setup/install/istioctl#uninstall-istio)中提到的步骤进行操作。 ## 卸载 {#uninstall} diff --git a/content/zh/docs/setup/install/multiple-controlplanes/index.md b/content/zh/docs/setup/install/multiple-controlplanes/index.md index c98ea4482c16..ec8e2bce1126 100644 --- a/content/zh/docs/setup/install/multiple-controlplanes/index.md +++ b/content/zh/docs/setup/install/multiple-controlplanes/index.md @@ -268,14 +268,14 @@ sleep-78ff5975c6-nxtth.app-ns-3 Kubernetes SYNCED SYNCED SYNCED 1. 清理第一个用户组: {{< text bash >}} - $ istioctl uninstall --revision usergroup-1 + $ istioctl uninstall --revision usergroup-1 --set values.global.istioNamespace=usergroup-1 $ kubectl delete ns app-ns-1 usergroup-1 {{< /text >}} 1. 清理第二个用户组: {{< text bash >}} - $ istioctl uninstall --revision usergroup-2 + $ istioctl uninstall --revision usergroup-2 --set values.global.istioNamespace=usergroup-2 $ kubectl delete ns app-ns-2 app-ns-3 usergroup-2 {{< /text >}} diff --git a/content/zh/docs/setup/install/operator/index.md b/content/zh/docs/setup/install/operator/index.md deleted file mode 100644 index dfddb0e897e2..000000000000 --- a/content/zh/docs/setup/install/operator/index.md +++ /dev/null @@ -1,353 +0,0 @@ ---- -title: 使用 Istio Operator 安装 -description: 使用 Istio Operator 在 Kubernetes 集群中安装 Istio 的说明。 -weight: 99 -keywords: [kubernetes, operator] -aliases: - - /zh/docs/setup/install/standalone-operator -owner: istio/wg-environments-maintainers -test: yes -status: Beta ---- - -{{< warning >}} -全新安装 Istio 时不鼓励使用 Operator,请优先使用 [Istioctl](/zh/docs/setup/install/istioctl) -和 [Helm](/zh/docs/setup/install/helm) 安装方法。Operator 仍然会得到维护,但新的功能请求可能不会优先考虑。 -{{< /warning >}} - -除了手动在生产环境中安装、升级、和卸载 Istio,您还可以用 -Istio [Operator](https://kubernetes.io/zh/docs/concepts/extend-kubernetes/operator/) 管理安装。 -这样做还能缓解管理不同 Istio 版本的负担。 -您只需简单的更新 Operator {{}}自定义资源(CR){{}}即可, -Operator 控制器将为您应用更改的相应配置。 - -当您[使用 Istioctl](/zh/docs/setup/install/istioctl)安装 Istio 时, -底层使用的是和 Operator 安装相同的 [`IstioOperator` API](/zh/docs/reference/config/istio.operator.v1alpha1/)。 -在这两种场景下,都会以架构验证配置,并执行同样的正确性检查。 - -{{< warning >}} -使用 Operator 确实存在安全隐患: -这是因为当使用 `istioctl install` 命令时,操作运行于管理员用户的安全上下文中; -而使用 Operator 时,操作运行于集群内 pod 自己的安全上下文中。 -为避免此漏洞,需要确保 Operator 自身部署的足够安全。 -{{< /warning >}} - -## 先决条件 {#prerequisites} - -1. 执行必要的[平台安装](/zh/docs/setup/platform-setup/)。 - -1. 检查 [Service 和 Pod 的要求](/zh/docs/ops/deployment/application-requirements/)。 - -1. 安装 [{{< istioctl >}} 可执行程序](/zh/docs/ops/diagnostic-tools/istioctl/)。 - -## 安装 {#install} - -### 部署 Istio Operator {#deploy-the-Istio-operator} - -`istioctl` 命令可用于自动部署 Istio 操作符: - -{{< text syntax=bash snip_id=deploy_istio_operator >}} -$ istioctl operator init -{{< /text >}} - -此命令运行 Operator 在 `istio-operator` 命名空间中创建以下资源: - -- Operator 自定义资源定义(CRD) -- Operator 控制器的 Deployment 对象 -- 一个用来访问 Operator 指标的服务 -- Istio Operator 运行必须的 RBAC 规则 - -您可以配置 Operator 控制器安装的命名空间、Operator 观测的命名空间、Istio 的镜像源和版本、以及更多。 -例如,可以使用参数 `--watchedNamespaces` 指定一个或多个命名空间来观测: - -{{< text syntax=bash snip_id=deploy_istio_operator_watch_ns >}} -$ istioctl operator init --watchedNamespaces=istio-namespace1,istio-namespace2 -{{< /text >}} - -更多详细信息,请参阅 [`istioctl operator init` 命令参考](/zh/docs/reference/commands/istioctl/#istioctl-operator-init)。 - -{{< tip >}} -您也可以使用 Helm 部署 Operator: - -1. 创建 `istio-operator` 命名空间。 - - {{< text syntax=bash snip_id=create_ns_istio_operator >}} - $ kubectl create namespace istio-operator - {{< /text >}} - -2) 使用 Helm 安装 Operator。 - - {{< text syntax=bash snip_id=deploy_istio_operator_helm >}} - $ helm install istio-operator manifests/charts/istio-operator \ - --set watchedNamespaces="istio-namespace1\,istio-namespace2" \ - -n istio-operator - {{< /text >}} - -注意:为了运行上面的命令,您需要[下载 Istio 发行版](/zh/docs/setup/additional-setup/download-istio-release/)。 -{{< /tip >}} - -{{< warning >}} -在 Istio 1.10.0 之前,需要在安装 Operator 之前创建命名空间 `istio-system`。 -从 Istio 1.10.0 开始,`istioctl operator init` 将创建 `istio-system` 命名空间。 - -如果您使用的不是 `istioctl operator init`,那么 `istio-system` 命名空间需要被手动创建。 -{{< /warning >}} - -### 使用 operator 安装 Istio {#install-Istio-with-the-operator} - -要使用 Operator 安装 Istio `demo` -[配置项(configuration profile)](/zh/docs/setup/additional-setup/config-profiles/),请运行以下命令: - -{{< text syntax=bash snip_id=install_istio_demo_profile >}} -$ kubectl apply -f - <}} - -控制器将检测 `IstioOperator` 资源,然后安装(`demo`)配置指定的 Istio 组件。 - -{{< warning >}} -如果在初始化 Istio Operator 时使用了 `--watchedNamespaces`, -请将 `IstioOperator` 资源应用于任一观测的命名空间中,而不是应用于 `istio-system` 中。 -{{< /warning >}} - -默认情况下,Istio 控制平面(istiod)将安装在 `istio-system` 命名空间中。 -要将其安装到其他命名空间,请如下使用 `values.global.istioNamespace` 字段: - -{{< text syntax=yaml snip_id=none >}} -apiVersion: install.istio.io/v1alpha1 -kind: IstioOperator -... -spec: - profile: demo - values: - global: - istioNamespace: istio-namespace1 -{{< /text >}} - -{{< tip >}} -Istio Operator 控制器在创建 `IstioOperator` 资源的 90 秒内开始安装 Istio。 -Istio 安装过程将在 120 秒内完成。 -{{< /tip >}} - -可以使用以下命令确认 Istio 控制平面服务是否成功: - -{{< text syntax=bash snip_id=kubectl_get_svc >}} -$ kubectl get services -n istio-system -NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE -istio-egressgateway ClusterIP 10.96.65.145 ... 30s -istio-ingressgateway LoadBalancer 10.96.189.244 192.168.11.156 ... 30s -istiod ClusterIP 10.96.189.20 ... 37s -{{< /text >}} - -{{< text syntax=bash snip_id=kubectl_get_pods >}} -$ kubectl get pods -n istio-system -NAME READY STATUS RESTARTS AGE -istio-egressgateway-696cccb5-m8ndk 1/1 Running 0 68s -istio-ingressgateway-86cb4b6795-9jlrk 1/1 Running 0 68s -istiod-b47586647-sf6sw 1/1 Running 0 74s -{{< /text >}} - -## 更新 {#update} - -现在,控制器已经运行起来,您可以通过编辑或替换 `IstioOperator` 资源来改变 Istio 配置。 -控制器将检测到改变,继而用相应配置更新安装的 Istio。 - -例如,使用以下命令将安装切换到 `default` 配置: - -{{< text syntax=bash snip_id=update_to_default_profile >}} -$ kubectl apply -f - <}} - -您还可以启用或禁用组件、修改资源设置。 -例如,启用 `istio-egressgateway` 组件并增加 istiod 的内存请求: - -{{< text syntax=bash snip_id=update_to_default_profile_egress >}} -$ kubectl apply -f - <}} - -通过检查 Operator 控制器日志,您可以检测到控制器为了响应 `IstioOperator` CR 的更新,而在集群中所做的改变: - -{{< text syntax=bash snip_id=operator_logs >}} -$ kubectl logs -f -n istio-operator "$(kubectl get pods -n istio-operator -lname=istio-operator -o jsonpath='{.items[0].metadata.name}')" -{{< /text >}} - -参阅 [`IstioOperator` API](/zh/docs/reference/config/istio.operator.v1alpha1/#IstioOperatorSpec) -获取完整的配置设置。 - -## 就地升级 {#in-place-upgrade} - -下载并提取希望升级到的 Istio 版本对应的 `istioctl`。 -在目标 Istio 版本的目录中,重新安装 Operator: - -{{< text syntax=bash snip_id=inplace_upgrade >}} -$ /bin/istioctl operator init -{{< /text >}} - -您会看到 `istio-operator` 的 Pod 已重新启动,其版本已更改到目标版本: - -{{< text syntax=bash snip_id=inplace_upgrade_get_pods_istio_operator >}} -$ kubectl get pods --namespace istio-operator \ - -o=jsonpath='{range .items[*]}{.metadata.name}{":\t"}{range .spec.containers[*]}{.image}{", "}{end}{"\n"}{end}' -{{< /text >}} - -经过一两分钟后,Istio 控制平面组件也会重新启动为新版本: - -{{< text syntax=bash snip_id=inplace_upgrade_get_pods_istio_system >}} -$ kubectl get pods --namespace istio-system \ - -o=jsonpath='{range .items[*]}{"\n"}{.metadata.name}{":\t"}{range .spec.containers[*]}{.image}{", "}{end}{"\n"}{end}' -{{< /text >}} - -## 金丝雀升级 {#canary-upgrade} - -金丝雀升级的过程类似于 -[`istioctl` 版本的金丝雀升级](/zh/docs/setup/upgrade/#canary-upgrades)。 - -例如,要升级上一节中安装的 Istio 修订版本,首先验证集群中名为 `example-istiocontrolplane` 的 `IstioOperator` CR 是否存在: - -例如要升级 Istio {{< istio_previous_version >}}.0 到 {{< istio_full_version >}}, -首先安装 {{< istio_previous_version >}}.0: - -{{< text syntax=bash snip_id=download_istio_previous_version >}} -$ curl -L https://istio.io/downloadIstio | ISTIO_VERSION={{< istio_previous_version >}}.0 sh - -{{< /text >}} - -使用 Istio 版本 {{< istio_previous_version >}}.0 部署 Operator: - -{{< text syntax=bash snip_id=deploy_operator_previous_version >}} -$ istio-{{< istio_previous_version >}}.0/bin/istioctl operator init -{{< /text >}} - -安装 Istio 控制平面 demo 配置文件: - -{{< text syntax=bash snip_id=install_istio_previous_version >}} -$ kubectl apply -f - <}}-0 -spec: - profile: default -EOF -{{< /text >}} - -确认您的集群中存在名为 `example-istiocontrolplane` 的 `IstioOperator` CR: - -{{< text syntax=bash snip_id=verify_operator_cr >}} -$ kubectl get iop --all-namespaces -NAMESPACE NAME REVISION STATUS AGE -istio-system example-istiocontrolplane{{< istio_previous_version_revision >}}-0 HEALTHY 11m -{{< /text >}} - -下载并提取希望升级到的 Istio 版本对应的 `istioctl`。 -然后,运行以下命令,基于集群内的 `IstioOperator` CR 的方式,安装 Istio 目标版本的控制平面 -(这里,我们假设目标修订版本为 1.8.1): - -{{< text syntax=bash snip_id=canary_upgrade_init >}} -$ istio-{{< istio_full_version >}}/bin/istioctl operator init --revision {{< istio_full_version_revision >}} -{{< /text >}} - -{{< tip >}} -您也可以通过 Helm 用不同的修订设置部署另一个 Operator: - -{{< text syntax=bash snip_id=none >}} -$ helm install istio-operator manifests/charts/istio-operator \ - --set watchedNamespaces=istio-system \ - -n istio-operator \ - --set revision={{< istio_full_version_revision >}} -{{< /text >}} - -注意:您需要[下载 Istio 发行版](/zh/docs/setup/additional-setup/download-istio-release/)来运行上面的命令。 -{{< /tip >}} - -复制 `example-istiocontrolplane` CR 并将其另存为 `example-istiocontrolplane-1-8-1.yaml` 文件。 -在 CR 中修改该文件的名称为 `example-istiocontrolplane-1-8-1`,并添加 `revision: 1-8-1`。 -更新后的 `IstioOperator` CR 如下所示: - -{{< text syntax=bash snip_id=cat_operator_yaml >}} -$ cat example-istiocontrolplane-{{< istio_full_version_revision >}}.yaml -apiVersion: install.istio.io/v1alpha1 -kind: IstioOperator -metadata: - namespace: istio-system - name: example-istiocontrolplane-{{< istio_full_version_revision >}} -spec: - revision: {{< istio_full_version_revision >}} - profile: default -{{< /text >}} - -运行该命令后,您将看到两组并排运行的控制平面 Deployment 和 Service: - -{{< text syntax=bash snip_id=get_pods_istio_system >}} -$ kubectl get pod -n istio-system -l app=istiod -NAME READY STATUS RESTARTS AGE -istiod-{{< istio_full_version_revision >}}-597475f4f6-bgtcz 1/1 Running 0 64s -istiod-6ffcc65b96-bxzv5 1/1 Running 0 2m11s -{{< /text >}} - -{{< text syntax=bash snip_id=get_svc_istio_system >}} -$ kubectl get services -n istio-system -l app=istiod -NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE -istiod ClusterIP 10.104.129.150 15010/TCP,15012/TCP,443/TCP,15014/TCP,853/TCP 2m35s -istiod-{{< istio_full_version_revision >}} ClusterIP 10.111.17.49 15010/TCP,15012/TCP,443/TCP,15014/TCP 88s -{{< /text >}} - -要完成升级,请给工作负载的命名空间打这个标签:`istio.io/rev=1-8-1`,并重新启动工作负载, -就如[数据平面升级](/zh/docs/setup/upgrade/canary/#data-plane)文档的描述。 - -## 卸载 {#uninstall} - -如果您使用 Operator 完成了控制平面的金丝雀升级,请运行以下命令卸载旧版本的控件平面,并保留新版本: - -{{< text syntax=bash snip_id=delete_example_istiocontrolplane >}} -$ kubectl delete istiooperators.install.istio.io -n istio-system example-istiocontrolplane -{{< /text >}} - -等到 Istio 卸载完成 - 这可能需要一些时间。 -然后删除 Istio Operator: - -{{< text syntax=bash snip_id=none >}} -$ istioctl operator remove --revision -{{< /text >}} - -如果省略 `revision` 标志,则 Istio Operator 的所有修订版本都将被删除。 - -注意:在 Istio 完全移除之前删除 Operator 可能会导致 Istio 资源残留。 -需要清理 Operator 未删除的内容: - -{{< text syntax=bash snip_id=cleanup >}} -$ istioctl uninstall -y --purge -$ kubectl delete ns istio-system istio-operator -{{< /text >}} diff --git a/content/zh/docs/tasks/traffic-management/egress/egress-kubernetes-services/index.md b/content/zh/docs/tasks/traffic-management/egress/egress-kubernetes-services/index.md index 3a9f0a7b4125..b7095b9c9614 100644 --- a/content/zh/docs/tasks/traffic-management/egress/egress-kubernetes-services/index.md +++ b/content/zh/docs/tasks/traffic-management/egress/egress-kubernetes-services/index.md @@ -118,7 +118,7 @@ Kubernetes [ExternalName](https://kubernetes.io/zh-cn/docs/concepts/services-net {{< /text >}} 1. 通过带有 Istio Sidecar 的源 Pod 通过 Kubernetes 服务的主机名访问 `httpbin.org`。 - 注意 Istio Sidecar 添加的 header,例如,`X-Istio-Attributes` 和 `X-Envoy-Decorator-Operation`。 + 注意 Istio Sidecar 添加的 header,例如,`X-Istio-Attributes` 和 `X-Envoy-Peer-Metadata`。 另请注意 `Host` header 等于您的服务的主机名。 {{< text bash >}} @@ -132,7 +132,6 @@ Kubernetes [ExternalName](https://kubernetes.io/zh-cn/docs/concepts/services-net "X-B3-Sampled": "0", "X-B3-Spanid": "5795fab599dca0b8", "X-B3-Traceid": "5079ad3a4af418915795fab599dca0b8", - "X-Envoy-Decorator-Operation": "my-httpbin.default.svc.cluster.local:80/*", "X-Envoy-Peer-Metadata": "...", "X-Envoy-Peer-Metadata-Id": "sidecar~10.28.1.74~sleep-6bdb595bcb-drr45.default~default.svc.cluster.local" } diff --git a/content/zh/news/releases/1.23.x/announcing-1.23/_index.md b/content/zh/news/releases/1.23.x/announcing-1.23/_index.md index d033914ffa02..c0ddd204d169 100644 --- a/content/zh/news/releases/1.23.x/announcing-1.23/_index.md +++ b/content/zh/news/releases/1.23.x/announcing-1.23/_index.md @@ -78,7 +78,7 @@ Istio 1.23 进行了一系列重大改进。我们与众多采用 Ambient 模式 ## 弃用集群内 Operator {#deprecating-the-in-cluster-operator} -三年前,我们[更新了我们的文档](/zh/docs/setup/install/operator/), +三年前,我们[更新了我们的文档](https://archive.istio.io/v1.23/zh/docs/setup/install/operator/), 以阻止在新的 Istio 安装中使用集群内运算符。现在,我们准备在 Istio 1.23 中正式将其标记为弃用。 利用该运算符的用户(我们估计不到我们用户群的 10%)将需要迁移到其他安装和升级机制才能升级到 Istio 1.24 或更高版本。1.24 的预计发布日期是 2024 年 11 月。 diff --git a/content/zh/news/releases/1.4.x/announcing-1.4/change-notes/index.md b/content/zh/news/releases/1.4.x/announcing-1.4/change-notes/index.md index 33657a08aba5..326887d2afa0 100644 --- a/content/zh/news/releases/1.4.x/announcing-1.4/change-notes/index.md +++ b/content/zh/news/releases/1.4.x/announcing-1.4/change-notes/index.md @@ -44,7 +44,7 @@ publishdate: 2019-11-14 ## 安装{#installation} -- **新增了** 对 `Istio` 动态安装更新的实验性 [operator controller](/zh/docs/setup/install/operator/)。 +- **新增了** 对 `Istio` 动态安装更新的实验性 [operator controller](https://archive.istio.io/v1.23/zh/docs/setup/install/operator/)。 - **移除了** `proxy_init` 镜像,`istio-init` 容器重新使用 `proxyv2` 镜像。 - **更新了** 基础镜像为 `ubuntu:bionic`。 diff --git a/content/zh/news/releases/1.5.x/announcing-1.5/_index.md b/content/zh/news/releases/1.5.x/announcing-1.5/_index.md index eaa4850095c7..216c888ee4f6 100644 --- a/content/zh/news/releases/1.5.x/announcing-1.5/_index.md +++ b/content/zh/news/releases/1.5.x/announcing-1.5/_index.md @@ -37,7 +37,7 @@ Istio 一直都是可扩展性最好的服务网格,其 Mixer 插件允许自 ## 更简单{#easier-to-use} -我们一直致力于使 Istio 更容易被接受和使用,尤其是此版本进行了一些很酷的增强。现在,使用 [`istioctl`](/zh/docs/reference/commands/istioctl) 的 Istio 命令行安装是安装的测试版,这适用于大多数用户。通过 Operator 管理安装的 Istio 仍处于 Alpha 状态,但是我们会使用新的 [`IstioOperator API`](/zh/docs/reference/config/istio.operator.v1alpha1/) 对其进行升级。 +我们一直致力于使 Istio 更容易被接受和使用,尤其是此版本进行了一些很酷的增强。现在,使用 [`istioctl`](/zh/docs/reference/commands/istioctl) 的 Istio 命令行安装是安装的测试版,这适用于大多数用户。通过 Operator 管理安装的 Istio 仍处于 Alpha 状态,但是我们会使用新的 `IstioOperator` API 对其进行升级。 关于 `istioctl`,它有十几项改进,可以分析新项、更好的验证规则、更好的与 CI 系统集成(请查看即将推出的示例!)。 现在,它是了解正在运行 Istio 系统的状态、确保配置安全更改的必要工具。`istioctl analysis` 已从实验性阶段毕业。