赞
踩
目录
What are best practices for benchmarking Envoy? — envoy tag-v1.16.0 documentation
查看版本:./fortio version -s
https://istio.io/v1.0/zh/docs/concepts/performance-and-scalability/
https://istio.io/v1.2/zh/docs/concepts/performance-and-scalability/
https://istio.io/latest/docs/ops/deployment/performance-and-scalability/
Fortio 以特定的每秒查询率(qps)运行,记录执行时间的直方图并计算百分位数(例如 p99,即 99% 请求的响应时间小于该数值(以秒为单位,SI单位))
golang中的Fortio负载测试库和命令行工具以及web用户界面:https://www.ctolib.com/istio-fortio.html
最佳实践:Service Mesh 基准性能测试,https://istio.io/latest/zh/blog/2019/performance-best-practices/
Envoy 1.7 官方文档中文版:常见问题 - Envoy 有多快? - 《Envoy 1.7 官方文档中文版》 - 书栈网 · BookStack
istio性能测试工具:tools/perf at master · istio/tools · GitHub
tools/perf/benchmark at 3ac7ab40db8a0d595b71f47b8ba246763ecd6213 · istio/tools · GitHub
Python3.8的安装:linux-python3.8安装 - zhouyuqiang - 博客园
k8s的知识:一文秒懂 K8s 架构 | Kubernetes 架构简介 | 红帽
istio性能测试(数据面):你的 Istio Mesh 性能及格吗? – Mark Zhu 的博客
https://istio.io/latest/zh/docs/ops/deployment/performance-and-scalability/
https://github.com/istio/tools/tree/master/perf/benchmark
idou老师教你学Istio 04:Istio性能及扩展性介绍:idou老师教你学Istio 04:Istio性能及扩展性介绍_Istio_云容器全栈_华为云论坛
史上最全的高性能代理服务器 Envoy 中文实战教程 !(强烈建议收藏) - 云+社区 - 腾讯云
Envoy 架构及其在网易轻舟的落地实践 - DockOne.io
envoy接口解释:使用 Envoy 作为前端代理 · Jimmy Song
envoy中文文档:Envoy proxy 配置详解 · Istio Handbook - Istio 服务网格进阶实战 by Jimmy Song(宋净超)
九析带你轻松完爆 istio 系列_哔哩哔哩_bilibili
istio分控制平面和数据平面,数据平面主要代表是envoy
控制面主要代表之一是pilot,主要是用来做服务发现用的;
istio的feature,包含流量管理、安全、策略(比如,严禁访问本服务的策略和制定黑白名单的策略)和遥测,可观察性(流量进入集群的入口、集群内部、集群出口针对所以的网络流量都要进行跟踪、记录、遥测、监控);
通过istioctl可以跟发布在k8s集群上的istio进行通信和进行管理;istio能够支持到的底层基础平台
istio的安装:Istio 控制面对接 Consul 注册中心
https://istio.io/latest/zh/docs/setup/getting-started/
分:helm部署、istioctl部署
故障注入 · Istio Handbook - Istio 服务网格进阶实战 by ServiceMesher(服务网格社区)
https://istio.io/latest/docs/tasks/security/cert-management/plugin-ca-cert/
https://istio.io/latest/zh/docs/setup/install/
Istio控制平面故障后会发生什么? · Service Mesh|服务网格中文社区
pilot指定监听envoy请求的端口15010(grpc)和创建crd的目录
envoy启动配置中指定pilot的地址:15010,以及app的标签(隶属于那个app),admin地址和端口用来查看pilot发给envoy的配置
envoy通过配置中指定pilot的地址与pilot建立长链接(gRPC连接);
Envoy · Istio Handbook - Istio 服务网格进阶实战 by ServiceMesher(服务网格社区)
修改istiod的configmap,istio:
data:
mesh: |-
accessLogFile: /dev/null
Sidecar · Istio 服务网格——云原生应用网络构建指南
Kubernetes上的Service Mesh实践:用EnvoyFilter扩展Istio | 云原生社区(中国)
EnvoyFilter_最爱喝酸奶的博客-CSDN博客_envoyfilter
EnvoyFilter · Istio 服务网格——云原生应用网络构建指南
opa-envoy-plugin/README.md at main · open-policy-agent/opa-envoy-plugin · GitHub
https://github.com/istio-ecosystem/wasm-extensions
istio会给pod注入istio-init容器,然后istio-init容器会将pod的网络流量劫持到istio-sidecar代理上。
dynamic_active_listeners-->listener--->filter_chains -->filters-->filters下的name-->filters下的typed_config--->rds--->route_config_name-->dynamic_route_configs--->route_config(下的name)--->route_config下的virtual_hosts-->routes--->route--->cluster-->服务名-路由规则名称在cluster中--->dynamic_active_clusters--->cluster--->name--->
type为:ClustersConfigDump下,看DestinationRule的内容;
CDS –> EDS –> LDS –> RDS
Istio Sidecar 注入机制 :: Yingchi Blog
如何理解 Istio Ingress, 它与 API Gateway 有什么区别? · Jimmy Song
Istio 网关之南北向流量管理(内含服务网格专家亲自解答)_Kubernetes中文社区
istio traffic: 虚拟机上部署 sidecar ,从而加入到服务网格
Gateway · Kubernetes 中文指南——云原生应用架构实战手册
如何理解 Istio Ingress, 它与 API Gateway 有什么区别? · Jimmy Song
升级 - Istio 服务网格进阶实战 - 开发文档 - 文江博客
服务网格 Authorization 授权策略配置-操作指南-文档中心-腾讯云
链接:https://www.cnblogs.com/573583868wuy/articles/16552118.html
iptables流量拦截流程:
(1)进入Pod的Inbound流量首先被PREROUTING链拦截并处理。
(2)PREROUTING链处理规则(-A PREROUTING -p tcp -j ISTIO_INBOUND)拦截TCP数据包,将其转到ISTIO_INBOUND链处理。
(3)ISTIO_INBOUND链处理规则(-A ISTIO_INBOUND -p tcp -j ISTIO_IN_REDIRECT)将TCP数据包交给ISTIO_IN_REDIRECT链处理。
(4)ISTIO_IN_REDIRECT链处理规则(-A ISTIO_IN_REDIRECT -p tcp -j REDIRECT --to-ports 15006)将数据包重定向到15006端口,交给Envoy的 Inbound Handler处理。
(5)Envoy根据数据包的目的地址查看Inbound方向的监听器配置,根据监听器及路由、Cluster、Endpoint等配置,决定是否将数据包转发到应用。OUTPUT链规则(-A OUTPUT -p tcp -j ISTIO_OUTPUT)将TCP数据包交给ISTIO_OUTPUT链处理。
(6)ISTIO_OUTPUT链,按顺序匹配到第4条规则(-A ISTIO_OUTPUT -m owner --uid-owner 1337 -j RETURN),直接返回uid是1337的数据包,不再执行ISTIO_OUTPUT链的后续规则,数据包随后到达应用进程。(所有数据包流出网卡时都要先进入 POSTROUTING 链(未作任何处理),内核根据数据包目的地判断是否需要转发出去)。
(7)应用处理完成后,发送响应数据包,被OUTPUT链拦截处理。
(8)OUTPUT链规则(-A OUTPUT -p tcp -j ISTIO_OUTPUT)将TCP数据包交给ISTIO_OUTPUT链处理。
(9)ISTIO_OUTPUT链匹配最后一条规则(-A ISTIO_OUTPUT -j ISTIO_REDIRECT),将数据包交给ISTIO_REDIRECT链处理。
(10)ISTIO_REDIRECT链规则(-A ISTIO_REDIRECT -p tcp -j REDIRECT --to-ports 15001)将TCP数据包重定向到15001端口,交给Envoy的Outbound Handler处理。
(11)Envoy根据数据包的目的地址查看Outbound方向的监听器配置,根据监听器及路由、Cluster、Endpoint等配置,决定是否将数据包向外转发。
(12)Envoy向外发送的数包同样先被OUTPUT链拦截,与流程6和9的处理相同,数据包被OUTPUT链处理完成后交由ISTIO_OUTPUT链处理。然后透传 Envoy 代理发出的出站请求,最终直接访问目的地。
tools/perf/benchmark at 1.15.7 · istio/tools · GitHub
https://github.com/lolistio/lolistio/blob/master/misc/perf/benchmark/benchmark.md
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。