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,并探讨其核心功能和优势。
|
27天前
|
Kubernetes 数据可视化 微服务
掌握 Istio:部署完成后如何运用?
本文介绍了在Ubuntu 20.04单机环境下使用Istio服务网格的配置与测试过程。主要内容包括: 1. **环境准备**:使用一台IP为10.9.2.83的机器。 2. **Istio简介**:Istio简化了Kubernetes集群中的服务间通信、流量管理、安全性和可观测性。 3. **部署Bookinfo示例**: - 创建命名空间`istio-demo`并启用自动注入功能。 - 部署Bookinfo应用,包含四个微服务,并验证其正常运行。
30 0
|
5月前
|
Kubernetes 网络协议 安全
Istio安全-证书管理
Istio安全-证书管理
67 1
Istio安全-证书管理
|
Kubernetes Cloud Native 中间件
为什么选择 Traefik Ingress ?
何为 Traefik Ingress ? 在解析此概念之前,我们回顾下 Kubernetes 生态组件 Ingress Controller (中文释义:入口控制器)的概念。
149 0
|
Prometheus 负载均衡 Kubernetes
Service Mesh: Istio vs Linkerd
根据CNCF的最新年度调查,很明显,很多人对在他们的项目中使用服务网格表现出了浓厚的兴趣,并且许多人已经在他们的生产中使用它们。近69%的人正在评估Istio,64%的人正在研究Linkerd。Linkerd是市场上第一个服务网格,但是Istio使服务网格更受欢迎。这两个项目都是最前沿的,而且竞争非常激烈,因此选择一个项目是一个艰难的选择。在此博客文章中,我们将了解有关Istio和Linkerd体系结构,其运动部件的更多信息,并比较其产品以帮助您做出明智的决定。
176 0
|
负载均衡 Kubernetes 监控
[Istio是什么?] 还不知道你就out了,40分钟快速理解(上)
[Istio是什么?] 还不知道你就out了,40分钟快速理解
209 0
|
负载均衡 Kubernetes 网络协议
[Istio是什么?] 还不知道你就out了,40分钟快速理解(下)
[Istio是什么?] 还不知道你就out了,40分钟快速理解(下)
120 0
|
数据采集 Prometheus 监控
ISTIO telemetry V2 介绍
### 背景 ISTIO 早期版本(1.4以前)的架构非常优雅, 模块之间解耦清晰,职责分明。 但现在看来有一定理想化,所有流量通过Mixer,通过Mixer 统一采集和上报所有的遥测数据和服务间访问鉴权,导致一旦规模上来,Mixer 非常容易成为性能瓶颈。 ![image.png](https://ata2-img.cn-hangzhou.oss-pub.aliyun-inc.com/920
1729 0
|
Kubernetes 容器
Kubernetes CKS 2021 Course【15】---Microservice Vulnerabilities - mTLS
Kubernetes CKS 2021 Course【15】---Microservice Vulnerabilities - mTLS
Kubernetes CKS 2021 Course【15】---Microservice Vulnerabilities - mTLS
|
运维 Kubernetes 负载均衡
从docker到istio之四 - istio分流应用
这是第四篇,istio分流应用。
534 0
从docker到istio之四 - istio分流应用