[zh] Translate Gateway API Mesh stable blog into Chinese (#15076)

* Translate Gateway API Mesh stable blog into Chinese

* Finish translate

* Fix lint
This commit is contained in:
Wilson Wu 2024-05-15 19:39:53 +08:00 committed by GitHub
parent a9bd9b069d
commit 181145af77
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 109 additions and 0 deletions

View File

@ -0,0 +1,109 @@
---
title: "Gateway API 网格支持提升至稳定状态"
description: 下一代 Kubernetes 流量路由 API 现已普遍适用于服务网格用例。
publishdate: 2024-05-13
attribution: John Howard - solo.io; Translated by Wilson Wu (DaoCloud)
keywords: [istio, traffic, API]
target_release: 1.22
---
我们很高兴地宣布 [Gateway API](https://gateway-api.sigs.k8s.io/)
中的服务网格支持现已正式“稳定”在此版本中Gateway API v1.1 和 Istio v1.22 的一部分),
用户可以将下一代流量管理 API 同时应用于入口(“南北向”)和服务网格内(“东西向”)用例。
## 什么是 Gateway API {#what-is-the-gateway-api}
Gateway API 是属于 Kubernetes 的 API 集合,专注于流量路由和管理。
这些 API 受到 Kubernetes 的 `Ingress` 和 Istio 的 `VirtualService``Gateway` API 的启发,
并发挥许多相同的作用。
自 2020 年以来,这些 API 一直在 Istio 以及[广泛协作](https://gateway-api.sigs.k8s.io/implementations/)的组织中得到开发,
并且自那时以来已经取得了长足的进步。虽然这些 API 最初仅针对服务入口用例
[去年](https://kubernetes.io/zh-cn/blog/2023/10/31/gateway-api-ga/)发布了 GA 版),
但我们一直设想允许相同的 API 也可用于集群**内**的流量。
在此版本中这一愿景成为现实Istio 用户可以对所有流量使用相同的路由 API
## 入门 {#getting-started}
在整个 Istio 文档中,我们的所有示例都已更新,以展示如何使用 Gateway API
因此请探索一些[任务](/zh/docs/tasks/traffic-management/)以获得更深入的理解。
使用 Gateway API 进行服务网格对于已经使用 Gateway API
进行入口的用户以及在服务网格中使用 `VirtualService` 的用户来说应该感到熟悉。
* 与用于入口的 Gateway API 相比,路由的目标由 `Gateway` 替代为`Service`。
* 与 `VirtualService` 相比,路由与一组 `hosts` 关联,以 `Service` 为目标。
这是一个简单的示例,演示了根据请求头将请求路由到两个不同版本的 `Service`
{{< text yaml >}}
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
name: reviews
spec:
parentRefs:
- group: ""
kind: Service
name: reviews
port: 9080
rules:
- matches:
- headers:
- name: my-favorite-service-mesh
value: istio
filters:
- type: RequestHeaderModifier
requestHeaderModifier:
add:
- name: hello
value: world
backendRefs:
- name: reviews-v2
port: 9080
- backendRefs:
- name: reviews-v1
port: 9080
{{< /text >}}
将其分解后,我们得到几个部分:
* 首先,我们确定应该匹配哪些路由。通过将我们的路由附加到 `reviews` 服务,
我们会将此路由配置应用于最初针对 `reviews` 的所有请求。
* 接下来,`matches` 配置选择该路由应处理的流量标准。
* 我们可以选择修改请求。在这里,我们添加一个标题。
* 最后,我们选择请求的目标。在此示例中,我们在应用程序的两个版本之间进行选择。
有关更多详细信息,请参阅 [Istio 的流量路由内部结构](/zh/docs/ops/configuration/traffic-management/traffic-routing/) 和
[Gateway API 的服务文档](https://gateway-api.sigs.k8s.io/mesh/service-facets/)。
## 我应该使用哪个 API {#which-api-should-i-use}
由于职责(和名称!)重叠,选择要使用的 API 可能会有点混乱。
以下是详细分析:
| API 名称 | 对象类型 | 状态 | 推荐 |
|--------------|---------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------|----------------------------------------------------------------------------|
| Gateway API | [HTTPRoute](https://gateway-api.sigs.k8s.io/api-types/httproute/), [Gateway](https://gateway-api.sigs.k8s.io/api-types/gateway/), ... | Gateway API v1.02023稳定 | 用于新部署,特别是 [Ambient 模式](/zh/docs/ambient/) |
| Istio API | [Virtual Service](/zh/docs/reference/config/networking/virtual-service/), [Gateway](/zh/docs/reference/config/networking/gateway/) | Istio 1.222024中达到 `v1` | 用于现存部署或需要高级功能的地方 |
| Ingress API | [Ingress](https://kubernetes.io/zh-cn/docs/concepts/services-networking/ingress) | 在 Kubernetes v1.192020中稳定 | 仅用于旧部署 |
鉴于上述情况,您可能想知道为什么 Istio API 同时[被升级为 `v1`](/zh/blog/2024/v1-apis)
这是对 API 的**稳定性**进行准确分类努力的一部分。
虽然我们将 Gateway API 视为流量路由 API 的未来(和现在!),
但我们现有的 API 将长期保留,并具有完全兼容性。这印证了 Kubernetes
使用 [`Ingress`](https://kubernetes.io/zh-cn/docs/concepts/services-networking/ingress/) 的方法,
该方法被提升到 `v1`,同时将未来的工作导向 Gateway API。
## 社区 {#community}
这种稳定性毕业代表了整个项目无数个小时的工作和协作的顶峰。
看看 API 涉及的[组织列表](https://gateway-api.sigs.k8s.io/implementations/)并回想一下我们已经走了多远,
真是令人难以置信。
特别感谢我的[共同领导者](https://gateway-api.sigs.k8s.io/mesh/gamma/)
Flynn、Keith Mattix 和 Mike Morris以及无数其他相关人员。
有兴趣参与,或者只是提供反馈吗?查看 Istio 的[社区页面](/zh/get-involved/)或
Gateway API [贡献指南](https://gateway-api.sigs.k8s.io/contributing/)