Skip to content

Commit

Permalink
chore: 🤖 higress.io => higress.n
Browse files Browse the repository at this point in the history
  • Loading branch information
heimanba committed Dec 5, 2024
1 parent 8b8a8b0 commit f7b309d
Show file tree
Hide file tree
Showing 11 changed files with 58 additions and 58 deletions.
2 changes: 1 addition & 1 deletion src/components/ai/Footer.astro
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ const friendLinks = [
},
{
label: 'Higress',
link: 'https://higress.io/'
link: 'https://higress.cn/'
},
{
label: 'RocketMQ',
Expand Down
2 changes: 1 addition & 1 deletion src/components/common/Footer.astro
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ const friendLinks = [
},
{
label: 'Higress',
link: 'https://higress.io/'
link: 'https://higress.cn/'
},
{
label: 'RocketMQ',
Expand Down
4 changes: 2 additions & 2 deletions src/components/home/OverViewImage/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -125,13 +125,13 @@ export const hoverHigressData = {
apiLink: "https://git-proxy-test-git-proxy-ieeqhwptvv.cn-hongkong.fcapp.run/api/alibaba/higress",
},
官网: {
link: "https://higress.io/",
link: "https://higress.cn/",
},
最新版本: {
link: "https://github.com/alibaba/higress/releases/tag/v0.5.0",
},
快速入门: {
link: "https://higress.io/zh-cn/docs/overview/what-is-higress.html",
link: "https://higress.cn/zh-cn/docs/overview/what-is-higress.html",
},
},
};
Expand Down
46 changes: 23 additions & 23 deletions src/content/blog/SCA-Higress-Application-Deployment.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Higress 是阿里巴巴开源的一款下一代云原生微服务网关。Higres

### 前提条件

1. 安装 Higress,并安装 Istio CRD,参考[Higress 安装部署文档](https://higress.io/zh-cn/docs/ops/deploy-by-helm/#%E6%94%AF%E6%8C%81-istio-crd%E5%8F%AF%E9%80%89)
1. 安装 Higress,并安装 Istio CRD,参考[Higress 安装部署文档](https://higress.cn/zh-cn/docs/ops/deploy-by-helm/#%E6%94%AF%E6%8C%81-istio-crd%E5%8F%AF%E9%80%89)
2. 安装 Naocs,参考[Nacos 安装部署文档](https://nacos.io/zh-cn/docs/v2/quickstart/quick-start.html)

Higress 支持将 Nacos,Spring Cloud 应用部署于 K8s 集群内,或者独立于 K8s 进行部署。为了演示方便,本文将 Higress,Nacos,Spring Cloud 应用都部署在本地 K8s 集群。
Expand Down Expand Up @@ -64,7 +64,7 @@ spring.cloud.nacos.discovery.metadata.version=${SPRING_CLOUD_NACOS_DEMO_VERSION}
### 配置服务来源

Higress 支持多种服务来源,包括 Nacos/Zookeeper/DNS/固定 IP,通过创建 Nacos 服务来源,Higress 就可以发现注册到 Nacos 上的服务,从而完成转发请求到这些服务上。
进入 Higress 控制台([http://console.higress.io/](http://console.higress.io/)),点击 **服务来源-创建服务来源 **以创建服务来源。这里选择 Nacos 2.X,然后填写注册中心的地址,端口,命名空间,服务分组等信息。注册中心的地址可以填写 ip 或者域名,本文将 Nacos 部署在本地 K8s 中,通过 K8s service 暴露 Nacos 端口,因此这里填写对应的 service 域名。
进入 Higress 控制台([http://console.higress.cn/](http://console.higress.cn/)),点击 **服务来源-创建服务来源 **以创建服务来源。这里选择 Nacos 2.X,然后填写注册中心的地址,端口,命名空间,服务分组等信息。注册中心的地址可以填写 ip 或者域名,本文将 Nacos 部署在本地 K8s 中,通过 K8s service 暴露 Nacos 端口,因此这里填写对应的 service 域名。
![image.png](/img/1728554001427.png)
配置好 Nacos 服务来源后,我们可以在**服务列表**中看到我们刚刚部署好的应用。
![image.png](/img/1728554001750.png)
Expand All @@ -80,7 +80,7 @@ Higress 支持多种服务来源,包括 Nacos/Zookeeper/DNS/固定 IP,通过

接下来我们就可以用配置好的路由来访问 Spring Cloud 应用了,在请求时需要将 demo.springcloud.com 域名解析到本地 ip,如下所示,可以成功得到返回结果。
![image.png](/img/1728554002730.png)
注:如果您将 Higress 的 80 和 443 端口通过 LoadBalancer 的方式暴露出来,这里需要将本地 ip 替换为对应 LoadBalancer 的 ip,详见[Higress 快速开始文档](https://higress.io/zh-cn/docs/user/quickstart#%E5%9C%BA%E6%99%AF%E4%B8%80%E5%9C%A8%E6%A0%87%E5%87%86-k8s-%E9%9B%86%E7%BE%A4%E4%B8%AD%E4%BD%BF%E7%94%A8)
注:如果您将 Higress 的 80 和 443 端口通过 LoadBalancer 的方式暴露出来,这里需要将本地 ip 替换为对应 LoadBalancer 的 ip,详见[Higress 快速开始文档](https://higress.cn/zh-cn/docs/user/quickstart#%E5%9C%BA%E6%99%AF%E4%B8%80%E5%9C%A8%E6%A0%87%E5%87%86-k8s-%E9%9B%86%E7%BE%A4%E4%B8%AD%E4%BD%BF%E7%94%A8)

## 利用 Higress 进行蓝绿发布

Expand Down Expand Up @@ -148,18 +148,18 @@ spec:
新版本应用上线后,我们需要把流量全部切到新版本应用中去,这时只需要简单地修改一下我们在 1.3 中创建的路由即可。我们可以在本地 K8s 集群中找到如下 ingress 资源,这对应了我们在 1.3 中创建的那条路由。
![image.png](/img/1728554004176.png)
我们直接编辑这条 ingress 资源,将 `higress.io/destination` 这条 annotation 的 value 改为 `service-provider.DEFAULT-GROUP.public.nacos v2`,即可将路由的目标服务修改为 v2 子集。
我们直接编辑这条 ingress 资源,将 `higress.cn/destination` 这条 annotation 的 value 改为 `service-provider.DEFAULT-GROUP.public.nacos v2`,即可将路由的目标服务修改为 v2 子集。

```yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
higress.io/destination: service-provider.DEFAULT-GROUP.public.nacos v2
higress.io/ignore-path-case: "false"
higress.cn/destination: service-provider.DEFAULT-GROUP.public.nacos v2
higress.cn/ignore-path-case: "false"
labels:
higress.io/domain_demo.springcloud.com: "true"
higress.io/resource-definer: higress
higress.cn/domain_demo.springcloud.com: "true"
higress.cn/resource-definer: higress
name: demo
namespace: higress-system
spec:
Expand All @@ -170,7 +170,7 @@ spec:
paths:
- backend:
resource:
apiGroup: networking.higress.io
apiGroup: networking.higress.cn
kind: McpBridge
name: default
path: /version
Expand All @@ -181,7 +181,7 @@ spec:

我们再发送请求,可以看到此时得到的是 v2 版本应用的返回结果,如此便实现了新版本的上线发布。
![image.png](/img/1728554004391.png)
如果发现已上线的新版本出现问题需要回滚,只需要修改 ingress 路由中的 `higress.io/destination`,将值更改为 `service-provider.DEFAULT-GROUP.public.nacos v1` 即可完成回滚。
如果发现已上线的新版本出现问题需要回滚,只需要修改 ingress 路由中的 `higress.cn/destination`,将值更改为 `service-provider.DEFAULT-GROUP.public.nacos v1` 即可完成回滚。

## 利用 Higress 进行金丝雀发布

Expand All @@ -190,12 +190,12 @@ spec:

### 修改 ingress 路由规则

Higress 可以通过一条 Ingress 注解轻松完成应用的金丝雀发布。我们编辑 2.3 中的 ingress 资源,将 ingress 中的 `higress.io/destination` 注解按如下方式进行修改:
Higress 可以通过一条 Ingress 注解轻松完成应用的金丝雀发布。我们编辑 2.3 中的 ingress 资源,将 ingress 中的 `higress.cn/destination` 注解按如下方式进行修改:

```yaml
metadata:
annotations:
higress.io/destination: |
higress.cn/destination: |
80% service-provider.DEFAULT-GROUP.public.nacos v1
20% service-provider.DEFAULT-GROUP.public.nacos v2
```
Expand All @@ -215,12 +215,12 @@ A/B 测试基于用户请求的元信息将流量路由到新版本,这是一

### 修改 ingress 路由规则

在本示例中,我们通过 HTTP header 中的 User-Agent 对流量进行区分,将 Android 系统的流量转发到 v2 版本,其他系统的流量仍保持 v1 版本。首先修改 2.3 中名叫 demo 的 ingress 资源,将 `higress.io/destination` 修改为 v1 版本,代表目前线上的流量全部会打到原来的 v1 版本:
在本示例中,我们通过 HTTP header 中的 User-Agent 对流量进行区分,将 Android 系统的流量转发到 v2 版本,其他系统的流量仍保持 v1 版本。首先修改 2.3 中名叫 demo 的 ingress 资源,将 `higress.cn/destination` 修改为 v1 版本,代表目前线上的流量全部会打到原来的 v1 版本:

```yaml
metadata:
annotations:
higress.io/destination: service-provider.DEFAULT-GROUP.public.nacos v1
higress.cn/destination: service-provider.DEFAULT-GROUP.public.nacos v1
```

当新版本部署完成后,再新建一条如下所示的 ingress 路由。这里采用正则匹配的方式,当 User-Agent 中含有 Android 时,将请求转发到 v2 版本的服务。
Expand All @@ -229,14 +229,14 @@ metadata:
kind: Ingress
metadata:
annotations:
higress.io/destination: service-provider.DEFAULT-GROUP.public.nacos v2
higress.io/canary: "true"
higress.io/canary-by-header: "User-Agent"
higress.io/canary-by-header-pattern: ".*Android.*"
higress.io/ignore-path-case: "false"
higress.cn/destination: service-provider.DEFAULT-GROUP.public.nacos v2
higress.cn/canary: "true"
higress.cn/canary-by-header: "User-Agent"
higress.cn/canary-by-header-pattern: ".*Android.*"
higress.cn/ignore-path-case: "false"
labels:
higress.io/domain_demo.springcloud.com: "true"
higress.io/resource-definer: higress
higress.cn/domain_demo.springcloud.com: "true"
higress.cn/resource-definer: higress
name: demo-ab
namespace: higress-system
spec:
Expand All @@ -247,7 +247,7 @@ spec:
paths:
- backend:
resource:
apiGroup: networking.higress.io
apiGroup: networking.higress.cn
kind: McpBridge
name: default
path: /version
Expand All @@ -258,7 +258,7 @@ spec:

可以看到来自 Android 系统的请求被转发到了 v2 版本,其余系统仍访问 v1 版本。
![image.png](/img/1728554005783.png)
当新版本验证完毕需要全量上线时,只需要将 demo 路由的 `higress.io/destination` 注解修改为 v2 版本,并删除 demo-ab 路由,这样所有流量就都会访问 v2 版本了。
当新版本验证完毕需要全量上线时,只需要将 demo 路由的 `higress.cn/destination` 注解修改为 v2 版本,并删除 demo-ab 路由,这样所有流量就都会访问 v2 版本了。

## 加入 Higress 和 Spring Cloud Aliaba 社区

Expand Down
26 changes: 13 additions & 13 deletions src/content/blog/SCA-Higress-Routing.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
则 Higress 的 McpBridge 中亦无需指定命名空间:

```yaml
apiVersion: networking.higress.io/v1
apiVersion: networking.higress.cn/v1
kind: McpBridge
metadata:
name: default
Expand All @@ -54,7 +54,7 @@ apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
higress.io/destination: my-service.DEFAULT-GROUP.public.nacos
higress.cn/destination: my-service.DEFAULT-GROUP.public.nacos
name: demo
namespace: default
spec:
Expand All @@ -63,14 +63,14 @@ spec:
paths:
- backend:
resource:
apiGroup: networking.higress.io
apiGroup: networking.higress.cn
kind: McpBridge
name: default
path: /api
pathType: Prefix
```
注意这里通过注解 `higress.io/destination` 指定路由最终要转发到的目标服务。
注意这里通过注解 `higress.cn/destination` 指定路由最终要转发到的目标服务。

对于 Nacos 来源的服务,这里的目标服务格式为:“服务名称.服务分组.命名空间 ID.nacos”,注意这里需要遵循 DNS 域名格式,因此服务分组中的下划线 '\_' 被转换成了横杠 '-'。命名空间未指定时,这里默认值为 "public"。

Expand All @@ -90,7 +90,7 @@ spring.cloud.nacos.discovery.group=custom-group
则 Higress 的 McpBridge 做相应配置即可

```yaml
apiVersion: networking.higress.io/v1
apiVersion: networking.higress.cn/v1
kind: McpBridge
metadata:
name: default
Expand Down Expand Up @@ -119,7 +119,7 @@ apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
higress.io/destination: my-service.custom-group.d8ac64f3-xxxx-xxxx-xxxx-47a814ecf358.nacos
higress.cn/destination: my-service.custom-group.d8ac64f3-xxxx-xxxx-xxxx-47a814ecf358.nacos
name: demo
namespace: default
spec:
Expand All @@ -128,7 +128,7 @@ spec:
paths:
- backend:
resource:
apiGroup: networking.higress.io
apiGroup: networking.higress.cn
kind: McpBridge
name: default
path: /api
Expand All @@ -154,7 +154,7 @@ spring.cloud.zookeeper.discovery.register=true
则 Higress 的 McpBridge 中亦无需指定 zkServicePath :

```yaml
apiVersion: networking.higress.io/v1
apiVersion: networking.higress.cn/v1
kind: McpBridge
metadata:
name: default
Expand All @@ -178,7 +178,7 @@ apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
higress.io/destination: my-service.services.zookeeper
higress.cn/destination: my-service.services.zookeeper
name: demo
namespace: default
spec:
Expand All @@ -187,7 +187,7 @@ spec:
paths:
- backend:
resource:
apiGroup: networking.higress.io
apiGroup: networking.higress.cn
kind: McpBridge
name: default
path: /api
Expand All @@ -212,7 +212,7 @@ spring.cloud.zookeeper.discovery.root=my-services-root
则 Higress 的 McpBridge 中亦需指定 zkServicePath :

```yaml
apiVersion: networking.higress.io/v1
apiVersion: networking.higress.cn/v1
kind: McpBridge
metadata:
name: default
Expand All @@ -239,7 +239,7 @@ apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
higress.io/destination: my-service.my-services-root.zookeeper
higress.cn/destination: my-service.my-services-root.zookeeper
name: demo
namespace: default
spec:
Expand All @@ -248,7 +248,7 @@ spec:
paths:
- backend:
resource:
apiGroup: networking.higress.io
apiGroup: networking.higress.cn
kind: McpBridge
name: default
path: /api
Expand Down
2 changes: 1 addition & 1 deletion src/content/faq/SCA-user-question-history14579.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ keywords: ["sca","spring-cloud-alibaba","higress","集成",""]
- 在Kubernetes集群中部署Higress及其相关资源。创建一个`McpBridge`资源来定义Nacos作为服务注册中心。根据你的需求,决定是否在`application.properties`中指定命名空间和服务分组,并相应地配置Higress的`McpBridge`。示例配置已在参考内容中给出,确保`domain``port`、以及如果有指定的`nacosNamespaceId``nacosGroups`配置正确。

3. **定义Ingress规则**
- 创建或更新Kubernetes的`Ingress`资源来指定路由规则,将特定路径的请求转发到由Nacos管理的服务实例。利用`higress.io/destination`注解指定目标服务,格式遵循“服务名称.服务分组.命名空间ID.nacos”。例如,如果你的服务名为`my-service`,分组为`DEFAULT_GROUP`,且未特别指定命名空间ID,则应如示例所示配置。
- 创建或更新Kubernetes的`Ingress`资源来指定路由规则,将特定路径的请求转发到由Nacos管理的服务实例。利用`higress.cn/destination`注解指定目标服务,格式遵循“服务名称.服务分组.命名空间ID.nacos”。例如,如果你的服务名为`my-service`,分组为`DEFAULT_GROUP`,且未特别指定命名空间ID,则应如示例所示配置。

4. **验证服务发现与路由**
- 应用所有配置更改后,确保所有服务包括Higress都正常运行。随后,尝试访问配置的路由前缀(如/api),验证请求是否被正确路由到由Nacos注册的服务实例上。
Expand Down
6 changes: 3 additions & 3 deletions src/content/faq/SCA-user-question-history14581.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ keywords: ["sca","spring-cloud-alibaba","higress","spring","cloud","gateway","
- 在 Kubernetes 集群中部署 Higress 控制器。
- 创建 `McpBridge` 资源以连接到 Nacos 注册中心。根据您的需求,定义命名空间、服务分组等信息。例如,若不指定命名空间和自定义分组,配置如下 YAML 示例所示的 `McpBridge` 资源:
```yaml
apiVersion: networking.higress.io/v1
apiVersion: networking.higress.cn/v1
kind: McpBridge
metadata:
name: default
Expand All @@ -46,7 +46,7 @@ keywords: ["sca","spring-cloud-alibaba","higress","spring","cloud","gateway","
kind: Ingress
metadata:
annotations:
higress.io/destination: my-service.DEFAULT-GROUP.public.nacos
higress.cn/destination: my-service.DEFAULT-GROUP.public.nacos
name: demo
namespace: default
spec:
Expand All @@ -55,7 +55,7 @@ keywords: ["sca","spring-cloud-alibaba","higress","spring","cloud","gateway","
paths:
- backend:
resource:
apiGroup: networking.higress.io
apiGroup: networking.higress.cn
kind: McpBridge
name: default
path: /api
Expand Down
2 changes: 1 addition & 1 deletion src/content/faq/SCA-user-question-history14778.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ spring.application.name=your-grpc-service
如果您在Kubernetes环境中使用Higress作为网关,参照之前的知识内容,确保正确配置了McpBridge以识别Nacos中的服务实例,并且路由规则正确指向了gRPC服务。

```yaml
apiVersion: networking.higress.io/v1
apiVersion: networking.higress.cn/v1
kind: McpBridge
metadata:
name: default
Expand Down
6 changes: 3 additions & 3 deletions src/content/faq/SCA-user-question-history14978.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ keywords: ["sca","spring-cloud-alibaba","集成","higress"]
- 在 Kubernetes 环境中,你需要创建一个 `McpBridge` 资源来定义 Nacos 作为服务注册中心的配置。这包括指定 Nacos 的访问地址、端口、命名空间ID(如果有指定)和服务分组。

```yaml
apiVersion: networking.higress.io/v1
apiVersion: networking.higress.cn/v1
kind: McpBridge
metadata:
name: default
Expand All @@ -52,7 +52,7 @@ keywords: ["sca","spring-cloud-alibaba","集成","higress"]
kind: Ingress
metadata:
annotations:
higress.io/destination: ${你的服务名称}.${你的服务分组}.${你的命名空间ID}.nacos
higress.cn/destination: ${你的服务名称}.${你的服务分组}.${你的命名空间ID}.nacos
name: demo
namespace: default
spec:
Expand All @@ -61,7 +61,7 @@ keywords: ["sca","spring-cloud-alibaba","集成","higress"]
paths:
- backend:
resource:
apiGroup: networking.higress.io
apiGroup: networking.higress.cn
kind: McpBridge
name: default
path: /你的路径前缀
Expand Down
Loading

0 comments on commit f7b309d

Please sign in to comment.