小白网-奉贤部落-奉贤免费信息发布平台

查看: 57|回复: 0

istio110进修笔记05流量治理API资本工具虚拟办事和方针法则

[复制链接]

2万

主题

0

回帖

8万

积分

论坛元老

Rank: 8Rank: 8

积分
88256
发表于 2025-7-26 13:02 | 显示全部楼层 |阅读模式
Istio经过流量治理API设置流量他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。利用Kubernetes的CRDs(自界说资本界说)来声明流量治理API他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。在本节中,我们将领会在前两节中设置请求路由时利用的两种API资本:VirtualService和DestinationRule他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
虚拟办事虚拟办事利用虚拟办事为一个或多个主机名指定流量行为他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。在虚拟机办事中利用路由法则来告诉Envoy若何将虚拟办事的流量发送到适当的目标地他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。路由的目标地可所以同一办事的分歧版本,也可以是完全分歧的办事他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
下面是一个典型的用例,它将流量发送到被指定为办事子集的分歧版本他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。客户机将虚拟办事视为单个实体,并将请求发送给虚拟办事评审他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。然后Envoy按照虚拟办事法则将流量路由到分歧的版本,25%的流量挪用会到达reviews办事的v2版本他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。这是Canary公布的一个场景,它逐步增加了发送到新版本办事的流量百分比他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
API version:networking . istio . io/v1 alpha 3kind:virtual servicemetadata:name:reviewsspec:-reviewshttp:-route:-destination:host:reviewssubset:v1weight:75-destination:host
虚拟办事有以下两种利用处景:
  • 经过单个虚拟办事处置多个利用办事,例如,设置一个虚拟办事来处置Kubernetes特命称号空中的一切办事他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。将单个虚拟办事映照到多个“实在”办事,可以将单个利用转化为由微办事构建的复合利用系统,而不需要客户顺应这类转化他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
  • 网关集成并设置流量法则来控制传入和传出流量他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。让我们看看在“基于用户身份的请求路由”的例子中建立的VirtualService虚拟办事他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。它将按照请求能否来自特定用户,将请求路由到办事的分歧版本:
    API version:networking . istio . io/v1 alpha 3kind:virtual servicemetadata:name:reviewsspec:-reviewshttp:-match:-headers:end-user:exact:Jasonroute:-destination:host:reviews
    hosts字段指定虚拟办事的主机,它是路由法则的利用法式方针,以及客户端在向办事发送请求时利用的一个或多个地址他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。这里只要一张照片他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。虚拟办事的主机可所以IP地址、DNS称号或一个短称号,这取决于平台(例如,Kubernetes办事的短称号),它隐式或显式地指向一个完全及格的域名(FQDN)他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。您还可以利用通配符*前缀建立一组婚配一切办事的路由法则他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。办事的虚拟主机字段现实上不必是istio办事注册的一部分,它只是一个虚拟方针地址,这样便可以对没有路由到网格内部的虚拟主机停止建模他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
    Http字段包括虚拟办事的路由法则,用于描写婚配条件和路由行为他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。经过路由法则将流量(如HTTP1.1、HTTP2和gRPC)发送到主机字段中指定的目标地他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。路由法则有0个或多个婚配条件,而且包括指定请求要到达的方针地址他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。示例中的第一个路由法则有一个婚配条件,它以match字段起头,并经过利用headers、end-user、exact和其他字段将请求与请求头end-user=jason停止婚配他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。路由部分中的目标地字段指定满足此条件的流量的现实目标地地址他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。与虚拟机办事的主机字段分歧,目标地的主机字段必须是isito办事注册表中存在的现实目标地地址,否则Envoy不晓得将请求发送到那里他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。在本例中,host是Kubernetes中reviews办事的称号(这里利用的是Kubernetes办事的简称设备)他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。目标地片断还指定了批评,这是Kubernetes办事的一个子集他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
    婚配时从上到下挑选法则他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。是以,凡是倡议供给一个默许的“无条件”或基于权重的法则作为每个虚拟办事的最初一个路由法则,以确保流经虚拟办事的流量可以婚配最少一个路由法则他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
    路由法则是将特定流量子集路由到指定目标地址的强大工具他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。您可以在流量端口、报头字段、URIs等方面设备婚配条件他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。例如,以下虚拟办事答利用户向两个自力的办事发送请求:评级和批评,就似乎它们是http://bookinfo.com/.更大的虚拟办事的一部分他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。虚拟办事法则按照请求的URI和指向适当办事的请求来婚配流量他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
    API version:networking . istio . io/v1 alpha 3kind:virtual servicemetadata:name:bookinfospec:-bookinfo . comhttp:-match:-uri:prefix:/reviewsroute:-destination:host:reviews...http:-match:source labels:app:点评线路:
    路由法则的设置很是灵活他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。除了上述示例之外,您还可以利用路由法则对流量履行一些操纵,例如增加和删除报头、重写URL、为挪用该方针地址的请求设备重试战略等等他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。关于VirtualService的更多信息,请查阅官方设置手册https://istio . io/latest/zh/docs/reference/config/networking/virtual-service他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
    DestinationRule虚拟办事用于设置若何将流量路由到方针地址,而方针法则用于设置流量的现实方针地址他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。您可以利用方针法则来指定数名的办事子集,例如按版本对给定办事的一切实例停止分组,然后您可以在虚拟办事的路由法则中利用这些办事子集来控制到分歧办究竟例的流量他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。当挪用此方针办事或特定子集时,方针法则还可用于自界说Envoy的流量战略,如负载平衡战略、TLS平安形式或保险丝设备他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
    默许情况下,Istio利用ROUND_ROBIN负载平衡战略,实例池中的每个实例依次获得请求他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。Istio还支持以下负载平衡模子,可以在DestinationRule中为流向特定办事或办事子集的流量指定这些模子他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
  • RANDOM:请求以随机方式拜候池中的一个实例他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
  • 权重:请求按照指定的百分比发送到实例他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
  • 最少请求(LEAST_CONN):请求被转移到最少拜候的实例他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。在以下示例中,方针法则为my-svc方针办事的三个子集设置负载平衡战略,v1、v3是随机的,v2是ROUND_ROBIN:
    API version:networking . istio . io/v1 alpha 3kind:destination rulemetadata:name:my-destination-rulespec:host:my-SVCtraffic policy:simple:RANDOMsubsets:-name:v1labels:version:v1-name:v2
    每个子集基于一个或多个标签来界说他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。在Kubernetes中,它是一个从属于像Pod这样的工具的键/值对他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。这些标签利用于Kubernetes办事的摆设,并用作元数据来标识分歧的版本他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
    本节总结了Isito流量治理API的两个资本工具:VirtualService和DestinationRule他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。虚拟办事用于设置若何将流量路由到目标地址他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。虚拟办事的路由法则可以在流量端口、报头字段、URIs等方面设备婚配条件他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。,并将流量路由到适当的目标地他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。同时,路由法则可用于对流量履行一些操纵,如增加和删除报头、重写URL、为挪用此目标地址的请求设备重试战略等他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。方针法则是利用于方针地址的法则他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。当挪用此方针办事或特定子集时,方针法则可用于定制Envoy的流量战略,如负载平衡战略、TLS平安形式或保险丝设备他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
    参考https://istio.io/latest/zh/docs/concepts/traffic-management
  • https://istio . io/latest/zh/docs/reference/config/networking/virtual-service
  • https://istio . io/latest/zh/docs/reference/config/networking/destination-rule/
  • 回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|小白网-奉贤部落-奉贤免费信息发布平台  

    GMT+8, 2025-11-11 18:36 , Processed in 0.183774 second(s), 21 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

    快速回复 返回顶部 返回列表