Istio - TrafficManagement - Mirror

简介: HTTP流量镜像指的是将流量转发到原目标服务的同时将流量给另外一个目标服务,请求正常的关注原始服务,而等待不用镜像的流量返回。

> HTTP流量镜像指的是将流量转发到原目标服务的同时将流量给另外一个目标服务,请求正常的关注原始服务,而等待不用镜像的流量返回。


#### 什么场景需要用的流量镜像

例如上线了新的版本,但对于可靠性不是很有信心,可以将请求的流量将传入当前使用的版本镜像到新的版本来测试,对当前使用的版本不会产生影响,同时也可以测试到新版本的性能等方面。


#### 通过例子来理解

目前是使用的v1版本的api,由于业务需求新增v2版本的api,但v2没有经过完整的测试,SRE团队对于上线后不是很有信心去确保可靠性。所以采取了流量镜像针对v1版本的流量镜像到v2版本来进行可靠性验证。

image.jpeg


apiVersion: apps/v1
kind: Deployment
metadata:  labels:    app: nginx
  name: nginx-v1-deployment
spec:  replicas: 1  selector:    matchLabels:      app: nginx
      version: 1  strategy:    rollingUpdate:      maxSurge: 25%
      maxUnavailable: 25%
    type: RollingUpdate
  template:    metadata:      labels:        app: nginx
        version: 1    spec:      containers:        - image: 'nginx:latest'          name: nginx-deployment
---apiVersion: apps/v1
kind: Deployment
metadata:  labels:    app: nginx
  name: nginx-v2-deployment
spec:  replicas: 1  selector:    matchLabels:      app: nginx
      version: 2  strategy:    rollingUpdate:      maxSurge: 25%
      maxUnavailable: 25%
    type: RollingUpdate
  template:    metadata:      labels:        app: nginx
        version: 2    spec:      containers:        - image: 'nginx:latest'          name: nginx-deployment
---apiVersion: v1
kind: Service
metadata:  name: nginx-service
spec:  ports:  - port: 80    protocol: TCP
    targetPort: 80  selector:    app: nginx
  type: ClusterIP
---apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:  name: nginx-dr
spec:  host: nginx-service
  subsets:  - name: v1
    labels:      version: 1  - name: v2
    labels:      version: 2---apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:   name: nginx-vs
spec:  hosts:  - "*"  http:  - route:     - destination:        host: nginx-service
        subset: v1
    mirror:        host: nginx-service
        subset: v2






目录
相关文章
|
运维 监控 负载均衡
Istio 介绍
当下,微服务架构在构建和部署现代应用程序时变得越来越流行。然而,微服务架构的复杂性也随之增加,特别是在涉及到服务间通信、负载均衡、安全性和监控方面。在这个复杂的环境中,Istio成为了一个强大的工具,它可以帮助您管理和控制微服务应用程序的各个方面。本文将详细介绍Istio,并探讨其核心功能和优势。
|
Kubernetes Linux Docker
Kubernetes v1.22.1部署报错3:.com/google_containers/coredns:v1.8.4...
Kubernetes v1.22.1部署报错3:.com/google_containers/coredns:v1.8.4...
253 0
|
3月前
|
Kubernetes 网络协议 安全
Istio安全-证书管理
Istio安全-证书管理
44 1
Istio安全-证书管理
|
负载均衡 网络架构 Docker
Traefik
Traefik 是一款开源的反向代理和负载均衡工具,它可以自动地为容器化的应用程序提供动态路由和负载均衡服务。Traefik 支持多种后端服务,并且可以根据容器的标签和元数据自动发现和配置后端服务。
571 1
|
Kubernetes Cloud Native 中间件
为什么选择 Traefik Ingress ?
何为 Traefik Ingress ? 在解析此概念之前,我们回顾下 Kubernetes 生态组件 Ingress Controller (中文释义:入口控制器)的概念。
131 0
|
弹性计算 负载均衡 Kubernetes
你所不了解的 Traefik
在之前的文章中,我们简单介绍了关于 Traefik 的相关概念及组件原理机制,具体可参考:为什么选择 Traefik Ingress ?
210 0
|
负载均衡 Kubernetes 网络协议
[Istio是什么?] 还不知道你就out了,40分钟快速理解(下)
[Istio是什么?] 还不知道你就out了,40分钟快速理解(下)
112 0
|
负载均衡 Kubernetes 监控
[Istio是什么?] 还不知道你就out了,40分钟快速理解(上)
[Istio是什么?] 还不知道你就out了,40分钟快速理解
186 0
|
数据采集 Prometheus 监控
ISTIO telemetry V2 介绍
### 背景 ISTIO 早期版本(1.4以前)的架构非常优雅, 模块之间解耦清晰,职责分明。 但现在看来有一定理想化,所有流量通过Mixer,通过Mixer 统一采集和上报所有的遥测数据和服务间访问鉴权,导致一旦规模上来,Mixer 非常容易成为性能瓶颈。 ![image.png](https://ata2-img.cn-hangzhou.oss-pub.aliyun-inc.com/920
1714 0
|
Prometheus Kubernetes 监控
Kubernetes Kruise Rollout
Kubernetes Kruise Rollout
245 1