nacos注册信息怎么带灰度标识的?灰度标识字段放在哪里,可以同步到istio?
在Nacos中,你可以使用服务分组和实例权重来实现灰度发布。服务分组代表一组服务实例,其中每个实例都有自己的权重。你可以将服务分组和实例权重映射到Istio中的虚拟服务和路由规则,从而实现在Istio中的灰度发布。
下面是具体的操作步骤:
服务分组 权重
v1 50%
v2 50%
apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
name: productpage
spec:
hosts:
- productpage
location: MESH_EXTERNAL
ports:
- number: 9080
name: http
protocol: HTTP
resolution: DNS
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: productpage
spec:
hosts:
- productpage.default.svc.cluster.local
gateways:
- istio-system/ingressgateway
http:
- route:
- destination:
host: productpage.default.svc.cluster.local
subset: v1
weight: 50
match:
- headers:
cookie:
exact: version=v1
- route:
- destination:
host: productpage.default.svc.cluster.local
subset: v2
weight: 50
match:
- headers:
cookie:
exact: version=v2
---
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
name: productpage
spec:
host: productpage.default.svc.cluster.local
subsets:
- name: v1
labels:
version: v1
- name: v2
labels:
version: v2
在Nacos中,要实现注册信息的灰度标识,首先需要在全局范围内启用灰度配置。接下来,你可以配置具体的灰度规则,例如设定用户ID和产品ID等信息。此外,还需要设置哪些服务器是灰度服务器,并为它们打上相应的标签。服务启动后会在Nacos上进行注册,客户端发起请求时会带上这些灰度信息。
从1.1.0版本开始,Nacos的配置编辑中已经支持了灰度配置。你可以在配置编辑中勾选"Beta发布",并在文本框中指定需要下发服务的IP地址,多个IP地址之间用英文逗号分隔。点击"发布Beta"后,会创建一个灰度配置。这个灰度配置只对特定的IP生效,即只有这些IP地址才能访问到新版本的服务。
放在注册元数据里面的,通过nacos-istio那个带到istio。同步到istio里面就是serviceEntry, 你通过istio的debug接口就可以看到。此回答整理自钉群“Nacos社区群4”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。