This is an automated email from the ASF dual-hosted git repository.
zhongxjian pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-website.git
The following commit(s) were added to refs/heads/master by this push:
new 227e2604368 add mesh gateway docs (#3171)
227e2604368 is described below
commit 227e260436892312d454a11c464a8f51e32d8efa
Author: mfordjody <[email protected]>
AuthorDate: Sun Dec 21 21:43:06 2025 +0800
add mesh gateway docs (#3171)
---
assets/scss/_custom.scss | 11 ++--
content/en/overview/mesh/_index.md | 9 +--
content/en/overview/mesh/concepts/security.md | 4 +-
.../overview/mesh/concepts/traffic-management.md | 36 ++++++++---
content/en/overview/mesh/getting-started.md | 33 +++++-----
content/en/overview/mesh/setup/install/dubboctl.md | 4 +-
content/en/overview/mesh/tasks/_index.md | 6 +-
.../en/overview/mesh/tasks/observability/_index.md | 12 ++++
content/en/overview/mesh/tasks/security/_index.md | 12 ++++
.../mesh/tasks/traffic-management/_index.md | 28 +++++++++
.../tasks/traffic-management/ingress/_index.md | 28 +++++++++
.../traffic-management/ingress/gateway-api.md | 71 ++++++++++++++++++++++
content/zh-cn/overview/mesh/_index.md | 4 +-
content/zh-cn/overview/mesh/concepts/security.md | 8 +--
.../overview/mesh/concepts/traffic-management.md | 42 ++++++++-----
content/zh-cn/overview/mesh/getting-started.md | 39 ++++++------
content/zh-cn/overview/mesh/setup/_index.md | 1 -
content/zh-cn/overview/mesh/tasks/_index.md | 15 +++--
.../overview/mesh/tasks/observability/_index.md | 9 +++
.../zh-cn/overview/mesh/tasks/security/_index.md | 9 +++
.../mesh/tasks/traffic-management/_index.md | 9 +++
.../tasks/traffic-management/ingress/_index.md | 9 +++
.../traffic-management/ingress/gateway-api.md | 68 +++++++++++++++++++++
package.json | 2 +-
24 files changed, 377 insertions(+), 92 deletions(-)
diff --git a/assets/scss/_custom.scss b/assets/scss/_custom.scss
index 44fa4f2cb55..8fe6d295666 100755
--- a/assets/scss/_custom.scss
+++ b/assets/scss/_custom.scss
@@ -986,8 +986,8 @@ body.td-documentation .td-main > .row > main .td-content
.card {
.td-content {
p {
- font-size: 16px;
- line-height: 1.7;
+ font-size: 15px;
+ line-height: 1.2;
margin-bottom: 1.25rem;
}
@@ -1021,14 +1021,14 @@ body.td-documentation .td-main > .row > main
.td-content .card {
}
ul, ol {
- font-size: 16px;
- line-height: 1.7;
+ font-size: 14px;
+ line-height: 1.0;
margin-bottom: 1.25rem;
padding-left: 2rem;
li {
margin-bottom: 0.5rem;
- line-height: 1.7;
+ line-height: 1.0;
}
}
@@ -1181,6 +1181,7 @@ body.td-documentation .td-main > .row > main .td-content
.card {
ul:has(+ pre) {
padding-left: 0;
margin-left: 0;
+ height: 0.8rem
}
p + .highlight,
diff --git a/content/en/overview/mesh/_index.md
b/content/en/overview/mesh/_index.md
index ad630f71865..20a370b15eb 100644
--- a/content/en/overview/mesh/_index.md
+++ b/content/en/overview/mesh/_index.md
@@ -3,7 +3,7 @@ aliases:
- /en/overview/mannual/
- /en/docs3-v2/
- /en/docs3-v2/
-always_unfold: true
+always_unfold: false
description: Instructions on how to set up and run Dubbo in Proxyless mode
linkTitle: Service Mesh
no_list: true
@@ -11,11 +11,8 @@ title: Dubbo Service Mesh
type: docs
weight: 3
---
-
> The service mesh is currently in an early experimental stage. Standard
> features will be gradually completed and supported.
-Instructions on how to set up and run Dubbod in Proxyless mode.
-
{{< blocks/section color="white" height="auto">}}
<div class="td-content list-page">
<div class="lead"></div>
@@ -26,7 +23,7 @@ Instructions on how to set up and run Dubbod in Proxyless
mode.
<h4 class="card-title">
<a href='{{< relref "./getting-started" >}}'>Getting
started</a>
</h4>
- <p>Quickly and easily try out Dubbod features.</p>
+ <p>Quickly and easily try out Dubbo features.</p>
</div>
</div>
<div class="col-sm col-md-6 mb-4">
@@ -40,7 +37,7 @@ Instructions on how to set up and run Dubbod in Proxyless
mode.
<div class="col-sm col-md-6 mb-4">
<div class="h-100">
<h4 class="card-title">
- <a href='{{< relref "./upgrade" >}}'>Upgrade Dubbod</a>
+ <a href='{{< relref "./upgrade" >}}'>Upgrade Dubbo</a>
</h4>
<p>Upgrade, downgrade, and manage Dubbo across multiple
control planes.</p>
</div>
diff --git a/content/en/overview/mesh/concepts/security.md
b/content/en/overview/mesh/concepts/security.md
index eb2e8b43a65..26c39ed8bcc 100644
--- a/content/en/overview/mesh/concepts/security.md
+++ b/content/en/overview/mesh/concepts/security.md
@@ -5,8 +5,7 @@ title: Security
type: docs
weight: 2
---
-
-Dubbo Service Mesh security provides strong identities, powerful policies,
transparent TLS encryption, and authentication tooling to protect your services
and data. It follows the same security model as Istio, but is optimized for the
Dubbo protocol and sidecarless architecture.
+> The service mesh is currently in an early experimental stage. Standard
features will be gradually completed and supported.
## High-level architecture
@@ -130,6 +129,7 @@ After understanding the basic concepts above, you can:
## Related content
+- [Quickstart](/en/overview/mesh/getting-started/)
- [Traffic management](/en/overview/mesh/concepts/traffic-management/)
- [Observability](/en/overview/mesh/concepts/observability/)
diff --git a/content/en/overview/mesh/concepts/traffic-management.md
b/content/en/overview/mesh/concepts/traffic-management.md
index 45f0a339b2f..59e48745e4a 100644
--- a/content/en/overview/mesh/concepts/traffic-management.md
+++ b/content/en/overview/mesh/concepts/traffic-management.md
@@ -5,16 +5,14 @@ title: Traffic Management
type: docs
weight: 1
---
+> The service mesh is currently in an early experimental stage. Resource
naming may change.
-In Dubbo Service Mesh, traffic management is implemented through the
collaboration of the Dubbo control plane and the Dubbo Agent. The control plane
generates gRPC xDS configuration based on Kubernetes CRDs and pushes it to
Dubbo Agent via the xDS protocol, enabling fine-grained control over
inter-service traffic.
-
-## Traffic management overview
+## Introduction
The traffic management model of Dubbo Service Mesh is aligned with Istio, but
optimized for the Dubbo protocol and sidecarless architecture. The core
components are:
- **ServiceRoute**: defines routing rules and controls how requests are routed
to service instances.
- **SubsetRule**: defines service subsets and traffic policies, such as load
balancing, connection pools, TLS settings, etc.
-- **MeshConfig**: mesh-wide configuration, including default traffic policies,
trust domain, and more.
By configuring these resources, you can achieve traffic routing, load
balancing, and resilience without modifying application code.
@@ -26,7 +24,7 @@ ServiceRoute enables you to:
- Route traffic to different versions of a service (for example, v1 and v2).
- Route based on request attributes such as headers and paths.
- Configure weighted routing for canary and gradual rollouts.
-- (Planned) Configure timeouts and retries for resilience.
+- Configure timeouts and retries for resilience.
### ServiceRoute example
@@ -117,13 +115,35 @@ spec:
Subsets are selected based on Pod labels. In the example above, Pods with
label `version: v1` are placed into subset `v1`, and Pods with `version: v2`
into subset `v2`.
-## Other notes
+## Gateway
+
+Gateways provide unified control over ingress and egress traffic in the mesh,
allowing you to specify which traffic is allowed to enter or leave the mesh.
+
+Dubbo mesh gateway is implemented based on Kubernetes Gateway API, using Pixiu
Gateway as the data plane proxy.
+
+### Gateway example
-Because Dubbo Service Mesh uses a sidecarless architecture, the traditional
Sidecar resource is replaced by the Dubbo Agent. The Dubbo Agent is embedded
into the application process and communicates with the control plane via the
xDS protocol.
+```yaml
+apiVersion: gateway.networking.k8s.io/v1
+kind: Gateway
+metadata:
+ name: gateway
+ namespace: dubbo-ingress
+spec:
+ gatewayClassName: dubbo
+ listeners:
+ - name: default
+ hostname: "*.example.com"
+ port: 80
+ protocol: HTTP
+ allowedRoutes:
+ namespaces:
+ from: All
+```
## Related content
-- [Dubbo Service Mesh Quickstart](/en/overview/quickstart/)
+- [Quickstart](/en/overview/mesh/getting-started/)
- [Security concepts](/en/overview/mesh/concepts/security/)
- [Observability](/en/overview/mesh/concepts/observability/)
diff --git a/content/en/overview/mesh/getting-started.md
b/content/en/overview/mesh/getting-started.md
index 01a807dc8ee..cae5e444a45 100644
--- a/content/en/overview/mesh/getting-started.md
+++ b/content/en/overview/mesh/getting-started.md
@@ -5,22 +5,22 @@ title: Quickstart
type: docs
weight: 1
---
+> The service mesh is currently in an early experimental stage. Standard
features will be gradually completed and supported.
-Special thanks to [Megan Yahya's KubeCon EU 2021
talk](https://www.youtube.com/watch?v=cGJXkZ7jiDk) for inspiration and related
support.
+Dubbo Service Mesh is a proxyless mesh model developed in 2025. This mode
introduces no extra proxy forwarding overhead, making it suitable for all
performance-sensitive applications and for any deployment environment.
-Dubbo Service Mesh is a proxyless mesh model developed in 2025. In this model,
processes communicate directly and interact with the control plane via the xDS
protocol.
-
-This mode introduces no extra proxy forwarding overhead, making it suitable
for latency-sensitive applications and for any deployment environment.
+- Each deployed application injects a Dubbo Agent that only provides XDS and
SDS services, enabling direct inter-service communication through the native
gRPC xDS client.
+- All injected agents are based on Kubernetes Gateway API to implement
communication between services and external systems.
## Download Dubbo
-1. Go to the Dubbo release page and download the installer for your OS, or
automatically download the latest version (Linux or macOS):
+Go to the Dubbo release page and download the installer for your OS, or
automatically download the latest version (Linux or macOS):
```bash
curl -L https://dubbo.apache.org/downloadDubbo | sh -
```
-2. Change to the Dubbo package directory:
+Change to the Dubbo package directory:
```bash
cd dubbo-x.xx.x
@@ -28,13 +28,13 @@ cd dubbo-x.xx.x
## Install Dubbo
-1. Install Dubbo with the default profile:
+Install Dubbo with the default profile:
```bash
dubboctl install -y
```
-2. Label the namespace to tell Dubbo to automatically inject the Dubbo Agent
when deploying applications:
+Label the namespace to tell Dubbo to automatically inject the Dubbo Agent when
deploying applications:
```bash
kubectl label namespace default dubbo-injection=enabled
@@ -44,14 +44,15 @@ kubectl label namespace default dubbo-injection=enabled
<div class="td-content list-page">
<div class="lead"></div>
<header class="article-meta"></header>
- <div class="row justify-content-center">
- <div class="col-sm col-md-5 mb-4">
- <div class="h-100 text-center">
- <a class="btn btn-lg btn-primary mb-3" href='{{< relref
"./setup/install" >}}' style="min-width: 200px; color: white;">
- Get started with Proxyless mode
- </a>
- </div>
- </div>
+
+ <div style="width:100%; text-align:center;">
+ <a
+ class="btn btn-lg btn-primary"
+ href='{{< relref "./setup/install" >}}'
+ style="min-width:200px; color: white; display: inline-block;
margin: 0 auto; transform: translateX(-40px);"
+ >
+ Get started with Proxyless mode
+ </a>
</div>
</div>
{{< /blocks/section >}}
diff --git a/content/en/overview/mesh/setup/install/dubboctl.md
b/content/en/overview/mesh/setup/install/dubboctl.md
index 4d480856d73..300b94732dc 100644
--- a/content/en/overview/mesh/setup/install/dubboctl.md
+++ b/content/en/overview/mesh/setup/install/dubboctl.md
@@ -14,7 +14,7 @@ The `dubboctl` command exposes the full DubboOperator API via
command-line flags
Before you begin, check the following prerequisites:
-1. [Download the Dubbod release](../../getting-started.md)
+1. [Download the Dubbo release](../../getting-started.md)
## Install Dubbo using a profile
@@ -43,7 +43,7 @@ dubboctl manifest generate > $HOME/generated-manifest.yaml
To completely uninstall Dubbo from the cluster, run:
```bash
-istioctl uninstall --remove -y
+dubboctl uninstall --remove -y
```
This removes all Dubbo resources. Future versions will support specifying a
manifest file.
diff --git a/content/en/overview/mesh/tasks/_index.md
b/content/en/overview/mesh/tasks/_index.md
index bedfcb5999c..bbcf8acc19e 100644
--- a/content/en/overview/mesh/tasks/_index.md
+++ b/content/en/overview/mesh/tasks/_index.md
@@ -17,7 +17,7 @@ Learn how to use various Dubbo features through hands-on
tasks.
<div class="col-sm col-md-6 mb-4">
<div class="h-100">
<h4 class="card-title">
- <a href='{{< relref
"../../mannual/java-sdk/tasks/traffic-management" >}}'>Traffic management</a>
+ <a href='{{< relref "./traffic-management" >}}'>Traffic
management</a>
</h4>
<p>Learn how to configure and use traffic management
features.</p>
</div>
@@ -25,7 +25,7 @@ Learn how to use various Dubbo features through hands-on
tasks.
<div class="col-sm col-md-6 mb-4">
<div class="h-100">
<h4 class="card-title">
- <a href='{{< relref
"../../mannual/java-sdk/tasks/security" >}}'>Security</a>
+ <a href='{{< relref "./security" >}}'>Security</a>
</h4>
<p>Learn how to configure and use security features.</p>
</div>
@@ -33,7 +33,7 @@ Learn how to use various Dubbo features through hands-on
tasks.
<div class="col-sm col-md-6 mb-4">
<div class="h-100">
<h4 class="card-title">
- <a href='{{< relref
"../../mannual/java-sdk/tasks/observability" >}}'>Observability</a>
+ <a href='{{< relref "./observability"
>}}'>Observability</a>
</h4>
<p>Learn how to configure and use observability features.</p>
</div>
diff --git a/content/en/overview/mesh/tasks/observability/_index.md
b/content/en/overview/mesh/tasks/observability/_index.md
new file mode 100644
index 00000000000..c6ff9c44017
--- /dev/null
+++ b/content/en/overview/mesh/tasks/observability/_index.md
@@ -0,0 +1,12 @@
+---
+description: Observability tasks
+linkTitle: Observability
+title: Observability
+type: docs
+weight: 3
+---
+
+Learn how to configure and use Dubbo Service Mesh observability features
through hands-on tasks.
+
+> Coming soon
+
diff --git a/content/en/overview/mesh/tasks/security/_index.md
b/content/en/overview/mesh/tasks/security/_index.md
new file mode 100644
index 00000000000..7b44494f9c3
--- /dev/null
+++ b/content/en/overview/mesh/tasks/security/_index.md
@@ -0,0 +1,12 @@
+---
+description: Security tasks
+linkTitle: Security
+title: Security
+type: docs
+weight: 2
+---
+
+Learn how to configure and use Dubbo Service Mesh security features through
hands-on tasks.
+
+> Coming soon
+
diff --git a/content/en/overview/mesh/tasks/traffic-management/_index.md
b/content/en/overview/mesh/tasks/traffic-management/_index.md
new file mode 100644
index 00000000000..1d2c335afac
--- /dev/null
+++ b/content/en/overview/mesh/tasks/traffic-management/_index.md
@@ -0,0 +1,28 @@
+---
+description: Traffic management tasks
+linkTitle: Traffic Management
+title: Traffic Management
+type: docs
+weight: 1
+---
+
+Learn how to configure and use Dubbo Service Mesh traffic management features
through hands-on tasks.
+
+{{< blocks/section color="white" height="auto">}}
+<div class="td-content list-page">
+ <div class="lead"></div>
+ <header class="article-meta"></header>
+ <div class="row">
+ <div class="col-sm col-md-6 mb-4">
+ <div class="h-100">
+ <h4 class="card-title">
+ <a href='{{< relref "./ingress" >}}'>Ingress</a>
+ </h4>
+ <p>Learn how to configure and manage ingress traffic.</p>
+ </div>
+ </div>
+ </div>
+ <hr>
+</div>
+{{< /blocks/section >}}
+
diff --git
a/content/en/overview/mesh/tasks/traffic-management/ingress/_index.md
b/content/en/overview/mesh/tasks/traffic-management/ingress/_index.md
new file mode 100644
index 00000000000..4a94a5d8bb2
--- /dev/null
+++ b/content/en/overview/mesh/tasks/traffic-management/ingress/_index.md
@@ -0,0 +1,28 @@
+---
+description: Ingress traffic management tasks
+linkTitle: Ingress
+title: Ingress
+type: docs
+weight: 1
+---
+
+Learn how to configure and manage Dubbo Service Mesh ingress traffic through
hands-on tasks.
+
+{{< blocks/section color="white" height="auto">}}
+<div class="td-content list-page">
+ <div class="lead"></div>
+ <header class="article-meta"></header>
+ <div class="row">
+ <div class="col-sm col-md-6 mb-4">
+ <div class="h-100">
+ <h4 class="card-title">
+ <a href='{{< relref "./gateway-api" >}}'>Gateway API</a>
+ </h4>
+ <p>Learn how to configure ingress traffic using Gateway
API.</p>
+ </div>
+ </div>
+ </div>
+ <hr>
+</div>
+{{< /blocks/section >}}
+
diff --git
a/content/en/overview/mesh/tasks/traffic-management/ingress/gateway-api.md
b/content/en/overview/mesh/tasks/traffic-management/ingress/gateway-api.md
new file mode 100644
index 00000000000..2d3908c5d05
--- /dev/null
+++ b/content/en/overview/mesh/tasks/traffic-management/ingress/gateway-api.md
@@ -0,0 +1,71 @@
+---
+description: Learn how to use Kubernetes Gateway API
+linkTitle: Kubernetes Gateway API
+title: Kubernetes Gateway API
+type: docs
+weight: 1
+---
+
+## Prerequisites
+
+Gateway API is not installed by default. If Gateway API CRDs do not exist,
install them:
+
+```bash
+kubectl get crd gateways.gateway.networking.k8s.io &> /dev/null || \
+ { kubectl kustomize
"github.com/kubernetes-sigs/gateway-api/config/crd?ref=v1.4.0" | kubectl apply
-f -; }
+```
+
+## Configure gateway
+
+```bash
+kubectl create -f
https://raw.githubusercontent.com/istio/istio/release-1.28/samples/httpbin/httpbin.yaml
+```
+
+```bash
+kubectl create namespace dubbo-ingress
+kubectl apply -f - <<EOF
+apiVersion: gateway.networking.k8s.io/v1
+kind: Gateway
+metadata:
+ name: gateway
+ namespace: dubbo-ingress
+spec:
+ gatewayClassName: dubbo
+ listeners:
+ - name: default
+ hostname: "*.example.com"
+ port: 80
+ protocol: HTTP
+ allowedRoutes:
+ namespaces:
+ from: All
+---
+apiVersion: gateway.networking.k8s.io/v1
+kind: HTTPRoute
+metadata:
+ name: http
+ namespace: default
+spec:
+ parentRefs:
+ - name: gateway
+ namespace: dubbo-ingress
+ hostnames: ["httpbin.example.com"]
+ rules:
+ - matches:
+ - path:
+ type: PathPrefix
+ value: /get
+ backendRefs:
+ - name: httpbin
+ port: 8000
+EOF
+```
+
+## Cleanup
+
+```bash
+kubectl delete -f
https://raw.githubusercontent.com/istio/istio/release-1.28/samples/httpbin/httpbin.yaml
+kubectl delete httproute http
+kubectl delete gateways.gateway.networking.k8s.io gateway -n dubbo-ingress
+kubectl delete ns dubbo-ingress
+```
diff --git a/content/zh-cn/overview/mesh/_index.md
b/content/zh-cn/overview/mesh/_index.md
index 9bb8fcfbe8d..7b2720df793 100755
--- a/content/zh-cn/overview/mesh/_index.md
+++ b/content/zh-cn/overview/mesh/_index.md
@@ -3,7 +3,7 @@ aliases:
- /zh/overview/mannual/
- /zh/docs3-v2/
- /zh-cn/docs3-v2/
-always_unfold: true
+always_unfold: false
description: 关于如何在 Proxyless 模式下设置和运行 Dubbo 的说明
linkTitle: 服务网格
no_list: true
@@ -13,8 +13,6 @@ weight: 3
---
> 目前服务网格处于初步实验阶段。后续标准功能将逐步完善和支持。
-关于如何在 Proxyless 模式下设置和运行 Dubbod 的说明。
-
{{< blocks/section color="white" height="auto">}}
<div class="td-content list-page">
<div class="lead"></div>
diff --git a/content/zh-cn/overview/mesh/concepts/security.md
b/content/zh-cn/overview/mesh/concepts/security.md
index f41347e318e..c0db045ae7f 100644
--- a/content/zh-cn/overview/mesh/concepts/security.md
+++ b/content/zh-cn/overview/mesh/concepts/security.md
@@ -5,8 +5,7 @@ title: 安全
type: docs
weight: 2
---
-
-Dubbo 服务网格的安全功能提供了强大的身份、强大的策略、透明的 TLS 加密以及认证工具,以保护您的服务和数据。Dubbo 的安全功能使用与 Istio
相同的安全模型,但针对 Dubbo 协议和无 Sidecar 架构进行了优化。
+> 目前服务网格处于初步实验阶段。后续标准功能将逐步完善和支持。
## 高层架构
@@ -79,8 +78,8 @@ Dubbo 服务网格支持对等认证(Peer Authentication),用于服务到
Dubbo 服务网格的认证架构包括:
-- **控制平面**:`dubbod` 负责管理认证策略和证书
-- **数据平面**:Dubbo Agent 负责执行认证策略和 TLS 握手
+- **控制平面**:负责管理认证策略和证书
+- **数据平面**:负责执行认证策略和 TLS 握手
- **策略存储**:认证策略存储在 Kubernetes API 服务器中
### 认证策略
@@ -130,5 +129,6 @@ spec:
## 相关内容
+- [快速入门](/zh-cn/overview/mesh/getting-started/)
- [流量管理](/zh-cn/overview/mesh/concepts/traffic-management/)
- [可观测性](/zh-cn/overview/mesh/concepts/observability/)
diff --git a/content/zh-cn/overview/mesh/concepts/traffic-management.md
b/content/zh-cn/overview/mesh/concepts/traffic-management.md
index c1a522d34fc..390ddeaac21 100644
--- a/content/zh-cn/overview/mesh/concepts/traffic-management.md
+++ b/content/zh-cn/overview/mesh/concepts/traffic-management.md
@@ -5,20 +5,17 @@ title: 流量管理
type: docs
weight: 1
---
-在 Dubbo 服务网格中是通过 Dubbo 控制平面和 Dubbo Agent 协同工作来实现。控制平面基于 Kubernetes CRD 配置生成
gRPC xDS 配置,并通过 xDS 协议下发给 Dubbo Agent,从而实现对服务间流量的细粒度控制。
-
-## 流量管理介绍
+> 目前服务网格处于初步实验阶段。资源命名可能会出现变化。
+## 介绍
Dubbo 服务网格的流量管理模型与 Istio 保持一致,但针对 Dubbo 协议和无 Sidecar 架构进行了优化。核心组件包括:
- **ServiceRoute**:定义路由规则,控制请求如何路由到服务实例
- **SubsetRule**:定义服务子集和流量策略,如负载均衡、连接池、TLS 设置等
-- **MeshConfig**:网格级别的配置,包括默认流量策略、信任域等
通过配置这些资源,您可以实现流量路由、负载均衡、故障恢复等功能,而无需修改应用程序代码。
-## 服务路由
-
+## 服务路由
ServiceRoute 是 Dubbo 服务网格中用于定义路由规则的核心资源,对应 Istio 的
VirtualService。它允许您配置如何将请求路由到服务的不同版本或实例。
服务路由让您能够:
@@ -28,7 +25,6 @@ ServiceRoute 是 Dubbo 服务网格中用于定义路由规则的核心资源,
- 配置超时、重试等故障恢复策略
### 服务路由示例
-
以下示例展示了如何配置 ServiceRoute 来实现流量分割:
```yaml
@@ -53,11 +49,9 @@ spec:
```
#### hosts 字段
-
`hosts` 字段指定了 ServiceRoute 应用到的服务。可以使用完全限定域名(FQDN)或短名称。控制平面会自动将短名称解析为 FQDN。
#### 路由规则
-
路由规则定义了如何将请求路由到目标服务。每个路由规则可以包含:
- **匹配条件**:基于请求属性(如路径、头信息)进行匹配
@@ -65,11 +59,9 @@ spec:
- **权重**:流量分配的权重比例
#### 路由规则优先级
-
当多个 ServiceRoute 匹配同一个服务时,控制平面会按照配置的创建时间顺序应用规则。更具体的匹配条件会优先于通用规则。
### 路由规则的更多内容
-
ServiceRoute 支持更复杂的路由场景,包括:
- **基于路径的路由**:根据请求路径将流量路由到不同的服务版本
@@ -81,7 +73,6 @@ ServiceRoute 支持更复杂的路由场景,包括:
SubsetRule 是 Dubbo 服务网格中用于定义服务子集和流量策略的资源,对应 Istio 的
DestinationRule。它允许您将服务实例组织成逻辑子集,并为每个子集配置流量策略。
### 负载均衡选项
-
SubsetRule 支持多种负载均衡策略,通过 MeshConfig 中的 `LocalityLbSetting` 配置:
- **基于地域的负载均衡**:优先将流量路由到同一地域的实例
@@ -89,7 +80,6 @@ SubsetRule 支持多种负载均衡策略,通过 MeshConfig 中的 `LocalityLb
- **最少连接(LEAST_CONN)**:将请求路由到连接数最少的实例
### 子级规则示例
-
以下示例展示了如何创建子集并配置流量策略:
```yaml
@@ -116,13 +106,33 @@ spec:
子集通过 Pod 标签进行匹配。在上面的示例中,带有 `version: v1` 标签的 Pod 会被分配到 `v1` 子集,带有 `version:
v2` 标签的 Pod 会被分配到 `v2` 子集。
-## 其他问题
+## 网关
+通过网关统一控制网格的入站与出站流量,可以规定哪些流量允许进入或离开网格。
-在 Dubbo 服务网格中,由于采用无 Sidecar 架构,Sidecar 资源的概念被 Dubbo Agent 所替代。Dubbo Agent
嵌入在应用进程中,通过 xDS 协议与控制平面通信。
+Dubbo 网格网关是基于 Kubernetes Gateway API 实现,使用 Pixiu Gateway 作为数据面代理。
+### Gateway 示例
+
+```yaml
+apiVersion: gateway.networking.k8s.io/v1
+kind: Gateway
+metadata:
+ name: gateway
+ namespace: dubbo-ingress
+spec:
+ gatewayClassName: dubbo
+ listeners:
+ - name: default
+ hostname: "*.example.com"
+ port: 80
+ protocol: HTTP
+ allowedRoutes:
+ namespaces:
+ from: All
+```
## 相关内容
-- [Dubbo 服务网格快速入门](/zh-cn/overview/quickstart/)
+- [快速入门](/zh-cn/overview/mesh/getting-started/)
- [安全概念](/zh-cn/overview/mesh/concepts/security/)
- [可观测性](/zh-cn/overview/mesh/concepts/observability/)
diff --git a/content/zh-cn/overview/mesh/getting-started.md
b/content/zh-cn/overview/mesh/getting-started.md
index 81238df29ae..8e1916386f3 100644
--- a/content/zh-cn/overview/mesh/getting-started.md
+++ b/content/zh-cn/overview/mesh/getting-started.md
@@ -5,32 +5,33 @@ title: 快速入门
type: docs
weight: 1
---
+> 目前服务网格处于初步实验阶段。后续标准功能将逐步完善和支持。
-非常感谢 [Megan Yahya 的 KubeCon EU 2021
演讲](https://www.youtube.com/watch?v=cGJXkZ7jiDk) 提供的提案思路和相关支持
+Dubbo 在 2025 年推出的基于 Proxyless 的模式的服务网格模型,该模式没有额外代理转发开销,适合所有性能敏感的应用,并且适用于所有部署环境。
-Dubbo 服务网格是 2025 年研发的 Proxyless 网格模型。该模式的进程独立部署并直接通信,通过 xDS 协议与控制面直接交互。
-
-这种模式没有额外的 Proxy 转发开销,适合对性能敏感的应用,并且适用于所有部署环境。
+- 每个已部署的应用都会注入 Dubbo 代理,仅提供 XDS 和 SDS 服务,并通过原生 gRPC xDS 客户端实现服务间直连通信。
+- 所有注入的代理均基于 Kubernetes Gateway API 实现服务与外部系统之间的通信。
## 下载 Dubbo
-1. 转到 Dubbo 发布页面,下载适用于您操作系统的安装文件或自动下载并获取最新版本(Linux 或 macOS):
+转到 Dubbo 发布页面,下载适用于您操作系统的安装文件或自动下载并获取最新版本(Linux 或 macOS):
```bash
curl -L https://dubbo.apache.org/downloadDubbo | sh -
```
-2. 转到 Dubbo 包目录。
+转到 Dubbo 包目录
```bash
cd dubbo-x.xx.x
```
## 安装 Dubbo
-1. 使用 default 配置文件安装 Dubbo
+使用 default 配置文件安装 Dubbo
```bash
dubboctl install -y
```
-2. 给命名空间添加标签,指示 Dubbo 在部署应用的时候,自动注入 Dubbo Agent:
+
+给命名空间添加标签,指示 Dubbo 在部署应用的时候,自动注入
```bash
kubectl label namespace default dubbo-injection=enabled
```
@@ -39,14 +40,18 @@ kubectl label namespace default dubbo-injection=enabled
<div class="td-content list-page">
<div class="lead"></div>
<header class="article-meta"></header>
- <div class="row justify-content-center">
- <div class="col-sm col-md-5 mb-4">
- <div class="h-100 text-center">
- <a class="btn btn-lg btn-primary mb-3" href='{{< relref
"./setup/install" >}}' style="min-width: 200px; color: white;">
- 开始使用 Proxyless 模式
- </a>
- </div>
- </div>
+
+ <div style="width:100%; text-align:center;">
+ <a
+ class="btn btn-lg btn-primary"
+ href='{{< relref "./setup/install" >}}'
+ style="min-width:200px; color: white; display: inline-block;
margin: 0 auto; transform: translateX(-40px);"
+ >
+ 开始使用 Proxyless 模式
+ </a>
</div>
</div>
-{{< /blocks/section >}}
\ No newline at end of file
+{{< /blocks/section >}}
+
+
+
diff --git a/content/zh-cn/overview/mesh/setup/_index.md
b/content/zh-cn/overview/mesh/setup/_index.md
index 1e3dd495d5c..623010ad63a 100644
--- a/content/zh-cn/overview/mesh/setup/_index.md
+++ b/content/zh-cn/overview/mesh/setup/_index.md
@@ -5,7 +5,6 @@ title: proxyless 模式
type: docs
weight: 3
---
-
选择最适合您需求和平台的安装指南。
diff --git a/content/zh-cn/overview/mesh/tasks/_index.md
b/content/zh-cn/overview/mesh/tasks/_index.md
index ac48dcefc21..f60036d82c7 100644
--- a/content/zh-cn/overview/mesh/tasks/_index.md
+++ b/content/zh-cn/overview/mesh/tasks/_index.md
@@ -6,8 +6,7 @@ type: docs
weight: 3
no_list: true
---
-
-通过实际任务学习如何使用 Dubbo 的各种功能。
+通过实践方式学习如何利用 Dubbo 服务网格实现既定的目标行为。
{{< blocks/section color="white" height="auto">}}
<div class="td-content list-page">
@@ -17,25 +16,25 @@ no_list: true
<div class="col-sm col-md-6 mb-4">
<div class="h-100">
<h4 class="card-title">
- <a href='{{< relref
"../../mannual/java-sdk/tasks/traffic-management" >}}'>流量管理</a>
+ <a href='{{< relref "./traffic-management" >}}'>流量管理</a>
</h4>
- <p>学习如何配置和使用流量管理功能。</p>
+ <p>使用网格的流量路由能力。</p>
</div>
</div>
<div class="col-sm col-md-6 mb-4">
<div class="h-100">
<h4 class="card-title">
- <a href='{{< relref
"../../mannual/java-sdk/tasks/security" >}}'>安全</a>
+ <a href='{{< relref "./security" >}}'>安全</a>
</h4>
- <p>学习如何配置和使用安全功能。</p>
+ <p>使用网格进行安全防护。</p>
</div>
</div>
<div class="col-sm col-md-6 mb-4">
<div class="h-100">
<h4 class="card-title">
- <a href='{{< relref
"../../mannual/java-sdk/tasks/observability" >}}'>可观测性</a>
+ <a href='{{< relref "./observability" >}}'>可观测性</a>
</h4>
- <p>学习如何配置和使用可观测性功能。</p>
+ <p>使用网格采集遥测数据。</p>
</div>
</div>
</div>
diff --git a/content/zh-cn/overview/mesh/tasks/observability/_index.md
b/content/zh-cn/overview/mesh/tasks/observability/_index.md
new file mode 100644
index 00000000000..3e4054579e0
--- /dev/null
+++ b/content/zh-cn/overview/mesh/tasks/observability/_index.md
@@ -0,0 +1,9 @@
+---
+description: 可观测性任务
+linkTitle: 可观测性
+title: 可观测性
+type: docs
+weight: 3
+---
+敬请期待
+
diff --git a/content/zh-cn/overview/mesh/tasks/security/_index.md
b/content/zh-cn/overview/mesh/tasks/security/_index.md
new file mode 100644
index 00000000000..3041655eb76
--- /dev/null
+++ b/content/zh-cn/overview/mesh/tasks/security/_index.md
@@ -0,0 +1,9 @@
+---
+description: 安全任务
+linkTitle: 安全
+title: 安全
+type: docs
+weight: 2
+---
+敬请期待
+
diff --git a/content/zh-cn/overview/mesh/tasks/traffic-management/_index.md
b/content/zh-cn/overview/mesh/tasks/traffic-management/_index.md
new file mode 100644
index 00000000000..ae9680572c3
--- /dev/null
+++ b/content/zh-cn/overview/mesh/tasks/traffic-management/_index.md
@@ -0,0 +1,9 @@
+---
+description: 流量管理任务
+linkTitle: 流量管理
+title: 流量管理
+type: docs
+weight: 1
+---
+通过任务实践学习如何配置和使用 Dubbo 服务网格的流量路由功能。
+
diff --git
a/content/zh-cn/overview/mesh/tasks/traffic-management/ingress/_index.md
b/content/zh-cn/overview/mesh/tasks/traffic-management/ingress/_index.md
new file mode 100644
index 00000000000..5c70a2e87d8
--- /dev/null
+++ b/content/zh-cn/overview/mesh/tasks/traffic-management/ingress/_index.md
@@ -0,0 +1,9 @@
+---
+description: 控制 Dubbo 服务网格的入口流量
+linkTitle: ingress
+title: ingress
+type: docs
+weight: 1
+---
+
+
diff --git
a/content/zh-cn/overview/mesh/tasks/traffic-management/ingress/gateway-api.md
b/content/zh-cn/overview/mesh/tasks/traffic-management/ingress/gateway-api.md
new file mode 100644
index 00000000000..2a98e5a71f5
--- /dev/null
+++
b/content/zh-cn/overview/mesh/tasks/traffic-management/ingress/gateway-api.md
@@ -0,0 +1,68 @@
+---
+description: 学习如何使用 Kubernetes Gateway API
+linkTitle: Kubernetes Gateway API
+title: Kubernetes Gateway API
+type: docs
+weight: 1
+---
+
+## 先决条件
+默认情况下不会安装 Gateway API。如果 Gateway API CRD 不存在,请安装:
+```bash
+kubectl get crd gateways.gateway.networking.k8s.io &> /dev/null || \
+ { kubectl kustomize
"github.com/kubernetes-sigs/gateway-api/config/crd?ref=v1.4.0" | kubectl apply
-f -; }
+```
+
+## 配置网关
+```bash
+kubectl create -f
https://raw.githubusercontent.com/istio/istio/release-1.28/samples/httpbin/httpbin.yaml
+```
+
+```bash
+kubectl create namespace dubbo-ingress
+kubectl apply -f - <<EOF
+apiVersion: gateway.networking.k8s.io/v1
+kind: Gateway
+metadata:
+ name: gateway
+ namespace: dubbo-ingress
+spec:
+ gatewayClassName: dubbo
+ listeners:
+ - name: default
+ hostname: "*.example.com"
+ port: 80
+ protocol: HTTP
+ allowedRoutes:
+ namespaces:
+ from: All
+---
+apiVersion: gateway.networking.k8s.io/v1
+kind: HTTPRoute
+metadata:
+ name: http
+ namespace: default
+spec:
+ parentRefs:
+ - name: gateway
+ namespace: dubbo-ingress
+ hostnames: ["httpbin.example.com"]
+ rules:
+ - matches:
+ - path:
+ type: PathPrefix
+ value: /get
+ backendRefs:
+ - name: httpbin
+ port: 8000
+EOF
+```
+
+## 清理
+
+```bash
+kubectl delete -f
https://raw.githubusercontent.com/istio/istio/release-1.28/samples/httpbin/httpbin.yaml
+kubectl delete httproute http
+kubectl delete gateways.gateway.networking.k8s.io gateway -n dubbo-ingress
+kubectl delete ns dubbo-ingress
+```
\ No newline at end of file
diff --git a/package.json b/package.json
index 9a7cd963b06..41fea6b41a3 100644
--- a/package.json
+++ b/package.json
@@ -13,7 +13,7 @@
},
"homepage": "https://dubbo.apache.org",
"devDependencies": {
- "autoprefixer": "^10.4.22",
+ "autoprefixer": "^10.4.23",
"postcss": "^8.5.6",
"postcss-cli": "^11.0.1"
}