k8s-Istio服务网络 27

官网:https://istio.io/latest/zh/about/service-mesh/

Istio与k8s的区别

SpringCloud传统微服务结合k8s与Istio与k8s结合:

Istio数据面:通过envoy以sidecar方式拦截svc的流量来进行治理。

Istio控制面:pilot list/watch APIserver 获取相关数据。istio配置也是通过istioctl/kubectl写入apiserver。

Istio基础概念:

Gateway:提供外部服务访问接口,可发布任意内部端口的服务,供外部访问。配合VirtualService使用,使用标准的Istio规则处理。

VirtualService:最核心的配置接口,定义指定服务的所有路由规则。

DestionationRule:决定路由处理之后的流量访问策略,负载均衡、断路器、TLS设置等。 ServiceEntry:将外部服务接入到服务注册中,让Istio中自动发现的服务能够访问和路由到这些手 动加入的服务。与VirtualService或DestinationRule配合使用。

Istio安装


demo专为测试准备的功能集合


给命名空间添加标签,指示 Istio 在部署应用的时候,自动注入 Envoy 边车代理
部署示例应用

架构图


创建 Istio入站网关

调用链追踪(仪表板)

修改服务访问方式为LoadBalancer

访问kiali

流量管理
将所有流量路由到每个微服务的 v1 版本

来自名为 Jason 的用户的所有流量将被路由到服务 reviews:v2

测试
创建故障注入规则以延迟来自测试用户jason的流量

设置流量转移,从v2转到v3

修改延迟规则为两秒

把 50% 的流量从 reviews:v1 转移到 reviews:v3

测试完后,当reviews:v3 微服务稳定时,可以通过应用Virtual Service规则将100%的流量路由reviews:v3

回收清理

熔断
部署 httpbin 服务

配置一个熔断器

测试一下连接
触发熔断器

istio-proxy 允许存在一些误差。
将并发连接提高到三个

将并发连接提高到6个

当并发数和请求次数达到一定数量时,数据将均被熔断器拦截。
清理

卸载istio

相关推荐
Kevin Wang72712 小时前
Nvidia-AGX-spark部署手册——课堂质量诊断(jetpack:r36)
python·docker·容器
回眸不遇15 小时前
将 Docker虚拟磁盘文件ext.vhdx迁移出C盘 ,更换到D盘
c语言·docker·容器
雨辰AI15 小时前
K8s人大金仓主从高可用搭建|容器化集群自动同步+故障切换(生产完整版)
云原生·容器·kubernetes
潘正翔16 小时前
k8s基础_kubeadm搭建k8s集群
linux·运维·docker·云原生·容器·kubernetes
Echo flower16 小时前
Docker 容器中 Puppeteer 僵尸进程排查与修复
运维·docker·容器·puppeteer
潘正翔17 小时前
k8s进阶_Harbor镜像仓库
git·云原生·容器·kubernetes·gitee·github
江湖有缘17 小时前
Docker实战 | 使用Docker部署Donetick任务与家务管理应用
运维·docker·容器
键盘鼓手苏苏19 小时前
AI 音频生成流水线:异步任务要有进度和取消
云原生·kubernetes·k8
雨辰AI19 小时前
K8s 达梦数据守护集群部署|容器化高可用生产落地指南
云原生·容器·kubernetes
张忠琳20 小时前
【NPU】Ascend Docker Runtime v26.0.1 之一 runtime/main.go — 超深度分析
云原生·容器·架构·kubernetes·npu·docker-runtime