istio笔记02--istio流量镜像最佳实践
介绍
流量镜像是Istio流量管理的一个重要特性,它允许将生产环境的流量复制一份并发送到镜像服务,而不会影响实际的生产流量。
如下图,客户端请求服务A的sidecar,它会镜像流量镜像到A-v2中,镜像服务处理请求后响应被丢弃。
本文主要介绍三种常见的流量镜像的常见配置方法,方便大家在实际业务中按需配置。

流量镜像案例
同集群流量镜像
前提条件:部署两个服务 nginx-v1和nginx-v2, 它们的svc也分别为nginx-v1和nginx-v2
deploy-nginx-v1.yaml
nginx-v2类似,不再重复贴一遍
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-v2
namespace: default
labels:
app: nginx-v2
spec:
replicas: 1
selector:
matchLabels:
app: nginx-v2
template:
metadata:
labels:
app: nginx-v2
spec:
containers:
- name: nginx
image: nginx:1.23
ports:
- containerPort: 80
protocol: TCP
resources: {
}
svc-nginx-v1.yaml
nginx-v2类似,此处不重复
apiVersion: v1
kind: Service
metadata:
name: nginx-v1
namespace: default
spec:
ports:
- protocol: TCP
port: 80
targetPort: 80
selector:
app: nginx-v1
type: ClusterIP
cluster-a-gw.yaml
apiVersion: networking.istio.io/v1beta1
kind: Gateway
metadata:
name: default-gw
namespace: istio-system
spec:
selector:
istio: ingressgateway
servers:
- hosts:
- nginx.xg.com
port:
name: http
number: 80
protocol: HTTP
vs-nginx-v1.yaml
以下流量镜像配置

851

被折叠的 条评论
为什么被折叠?



