首页 > 其他分享 >备考ICA----Istio实验3---Istio DestinationRule 实验

备考ICA----Istio实验3---Istio DestinationRule 实验

时间:2024-03-22 10:05:19浏览次数:21  
标签:20 DestinationRule Istio helloworld --- v1 v2 version 实验

备考ICA----Istio实验3—Istio DestinationRule 实验

1. hello服务说明

这部分服务沿用Istio实验2的deployment和svc
同时在上一个实验的deployment中分别加入了2个标签:
app: helloworld 两个deployment共有
version: v1 和 version: v2 两个deploymen 不同
详见:https://blog.csdn.net/qq_29974229/article/details/136914465 的 [1. 部署helloworld app] 部分yaml内容

2. DestinationRule流量转发

2.1 通过DestinationRule将所有流量都转发到v1版本

2.1.1 配置文件

通过DestinationRule 将version: v1和version: v2分别定义成2个subnet,名字为v1和v2,随后在vs的destination中通过subset选择,定义weight权重来实现不同流量权重的分发.金丝雀发布就是通过这种方式来实现的
helloworld-dr-all-v1.yaml

---
apiVersion: networking.istio.io/v1beta1
kind: DestinationRule
metadata:
  name: helloworld-destination
spec:
  host: helloworld
  subsets:
  - name: v1
    labels:
      version: v1
  - name: v2
    labels:
      version: v2
---
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
  name: helloworld
spec:
  hosts:
  - "*"
  gateways:
  - helloworld-gateway
  http:
  - match:
    - uri:
        exact: /hello
    route:
    - destination:
        host: helloworld
        port:
          number: 5000
        subset: v1

应用配置

kubectl apply -f helloworld-dr-all-v1.yaml 

在这里插入图片描述

2.1.2 访问测试

即使在SVC上看到有v2的ep,但由于Envoy SideCar的存在,经由Istio Ingressgateway所有的流量直接被截获,并直接转发给了v1的vs由它响应请求

for i in {1..20};do curl http://192.168.126.220/hello ;sleep .5 ;done

在这里插入图片描述

2.2 通过 DestinationRule将流量2,8开给v1和v2

2.2.1 配置文件

之前已经在DestinationRule上定义了2个subnet,这里只需要定义vs的比例就可以了
helloworld-dr-20-v1.yaml

---
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
  name: helloworld
spec:
  hosts:
  - "*"
  gateways:
  - helloworld-gateway
  http:
  - match:
    - uri:
        exact: /hello
    route:
    - destination:
        host: helloworld
        port:
          number: 5000
        subset: v1
      weight: 20
    - destination:
        host: helloworld
        port:
          number: 5000
        subset: v2
      weight: 80
kubectl apply -f helloworld-dr-20-v1.yaml

2.2.2 访问测试

20个请求4次,显然和我们预期是一样的

for i in {1..20};do curl http://192.168.126.220/hello ;sleep .5 ;done

在这里插入图片描述
在这里插入图片描述

标签:20,DestinationRule,Istio,helloworld,---,v1,v2,version,实验
From: https://blog.csdn.net/qq_29974229/article/details/136928739

相关文章

  • 一线大厂面试真题——fail-safe机制与fail-fast机制分别有什么作用
    fail-safe和fail-fast,是多线程并发操作集合时的一种失败处理机制。Fail-fast:表示快速失败,在集合遍历过程中,一旦发现容器中的数据被修改了,会立刻抛出ConcurrentModificationException异常,从而导致遍历失败,像这种情况(贴下面这个图)。定义一个Map集合,使用Iterator迭代器进行数......
  • 中国1KM分辨率月平均气温数据集1950-2023
       该数据为中国逐月平均温度数据,空间分辨率为0.0083333°(约1km),时间为1950年1月-2023年6月。该数据集是根据全国2472个气象观测点数据进行插值获取,验证结果可信。本数据集包含的地理空间范围是全国主要陆地(包含港澳台地区),不含南海岛礁等区域。数据坐标系统使用WGS84。自......
  • 中国30米分辨率城市建成区数据集 (1972-2023年)
      城市建成区的提取是近年来遥感应用领域研究的热点内容。传统的研究方法主要包括都市化指数(urbanindex,UI)、归一化建筑指数(normalizeddifferencebuilt-upindex,NDBI)、归一化植被指数(normalizeddifferencevegetationindex,NDVI)等方法。这些指数不仅可以单......
  • k8s系列之十四安装Istio
    Istio是一个开源的服务网格(ServiceMesh),用于连接、管理和保护微服务。它提供了一组功能强大的工具,包括流量管理、安全性、监控和跟踪等,以帮助在微服务架构中更好地管理服务之间的通信。一些主要的Istio功能包括:流量管理:Istio可以对流量进行智能路由、负载均衡和故障......
  • 基于GD32F303,CMSIS-DSP支持包,实现FFT,得到频率,还原单一频率的波形
        一般情况下M33M4的内核是支持DSP包的,用户只需要自己添加支持包,并添加相应的头文件即可,比如#include"arm_math.h",#include"arm_const_structs.h"等等。(1)main.c#include"gd32f30x.h"#include"stdio.h"#include"string.h"#include"arm_......
  • 《C语言深度剖析》---------关键字(1)
    1.双击实质--->加载内存windows系统里面,双击的本质就是运行程序,把程序加载到内存里面;任何程序运行的时候都必须加载到内存里面;程序没有运行之前在硬盘里面,为什么程序运行之前必须加载到内存里面呢?这个时候就有必要了解一下冯诺依曼体系结构:我们输入的数据要到内存里面,经......
  • 基于security-oauth2-autoconfigure实现的OAuth2迁移到更现代的解决方案,Spring Securi
    目录OAuth2资源服务器配置步骤1:添加依赖步骤2:配置资源服务器OAuth2客户端配置(可选)/**其他应用作为OAuth2客户端步骤1:添加依赖步骤2:配置OAuth2.0客户端/**应用同时作为OAuth2客户端步骤1:配置OAuth2.0客户端控制器示例结合使用OAuth2与JWT        ......
  • 毕业设计课题:实验室课程管理系统,基于java+SSM+mysql
          一、前言介绍     如今互联网发展迅猛,大量的信息都是通过网络这一渠道来传播,所以利用网络渠道来传播知识是非常有前景的。线上管理系统的主要目的是对实验室课程信息进行更有效的管理,光靠现有的管理方式是远远不够的,因此开发实验室课程管理系统是有必要的......
  • 数字乡村标准化白皮书 - 2024年版:数字乡村内涵、发展现状、标准化现状、标准需求
    党的二十大报告指出“全面推进乡村振兴。全面建设社会主义现代化国家,最艰巨最繁重的任务仍然在农村。坚持农业农村优先发展,坚持城乡融合发展,畅通城乡要素流动。加快建设农业强国,扎实推动乡村产业、人才、文化、生态、组织振兴”。当前,我国正处于从农业大国迈向农业强国的关键......
  • nicerefresh--自动刷新Spring中@Value的值
    nicerefresh:自动刷新Spring项目中@Value的值。@RefreshScope虽然有这个功能,但是,它在很多场景下会失效!而nicerefresh就是为了解决这一问题而产生的。用了nicerefresh,不需要加任何注解,即可自动刷新配置!官网:https://www.yuque.com/knifeblade/opensource/nicerefreshgitee:https://......