Istio架构

栏目: 服务器 · 发布时间: 5年前

内容简介:Istio由下面几个部分组成:Pilot,Mixer,Ingress-Controller和Egress-Controller,以及Istio CA(证书颁发机构):Pilot - 负责在运行时配置Envoy和Mixer。Envoy - 每个微服务的Sidecar代理,用于处理集群中服务之间以及从服务到外部服务之间的入口/出口流量。代理形成一个安全的微服务网格,提供丰富的功能如服务发现、丰富的第7层路由、断路器、策略实施和遥测记录/报告功能。类似Spring cloud全家桶中的eureka、ribbon

Istio由下面几个部分组成:Pilot,Mixer,Ingress-Controller和Egress-Controller,以及Istio CA(证书颁发机构):

Pilot - 负责在运行时配置Envoy和Mixer。

Envoy - 每个微服务的Sidecar代理,用于处理集群中服务之间以及从服务到外部服务之间的入口/出口流量。代理形成一个安全的微服务网格,提供丰富的功能如服务发现、丰富的第7层路由、断路器、策略实施和遥测记录/报告功能。类似Spring cloud全家桶中的eureka、ribbon和Hystrix。

Mixer- 在基础架构后端之上创建可移植层。在基础架构级别实施ACL、速率限制、配额、身份验证、请求跟踪和遥测收集等策略。

Ingress/Egress(入口/出口) - 配置基于路径的路由。类似Zuul API网关路由功能

Istio CA - 通过TLS保护服务通信。提供密钥管理系统,以自动化密钥和证书生成,分发,轮换和撤销

Istio的具体特点

1. 控制路由:大规模的微服务架构需要更高级的服务之间的通信控制。流量管理的一个方面是基于HTTP请求控制流量路由,例如用户代理字符串,IP地址或cookie。

以下yaml配置文件是将用户“jason”的所有流量发送到评论:v2

spec:
  hosts:
    - reviews
  http:
  - match:
    - headers:
        end-user:
          exact: jason
    route:
    - destination:
        host: reviews
        subset: v2
  - route:
    - destination:
        host: reviews
        subset: v1

这些配置类似Spring Cloud的API网关Zuul路由配置,类似Nginx,只要将这yaml配置部署到k8s中API网格即可生效:

kubectl apply -f samples/bookinfo/networking/virtual-service-reviews-test-v2.yaml

分割流量:能进行黑白或蓝绿测试,包括部署金丝雀版本:

spec:
  hosts:
    - reviews
  http:
  - route:
    - destination:
        host: reviews
        subset: v1
      weight: 50
    - destination:
        host: reviews
        subset: v3
      weight: 50

这些路由信息可以通过命令实时获得:


master $ istioctl get virtualservices
VIRTUAL-SERVICE NAME GATEWAYS HOSTS #HTTP #TCP NAMESPACE AGE
bookinfo bookinfo-gateway * 1 0 default 3m

上述结果显示:微服务bookinfo 的API网关是bookinfo-gateway。

2.负载监测:Istio可以深入了解应用程序的工作方式和性能指标。生成各种图表:

Grafana:这是Istio Grafana仪表板。仪表板返回当前正在处理的请求总数,以及每次调用的错误数和响应时间。由于Istio管理整个服务之间的通信,因此仪表板将突出显示汇总的总计和单个服务级别信息的细分。

Jaguar:为每个HTTP请求提供跟踪信息。它显示了进行了哪些调用以及每个请求中花费的时间。可查看单个请求和HTTP调用的详细信息,这是识别问题和潜在性能瓶颈的绝佳方法。

Service Graph服务图:随着系统的发展,可能难以可视化服务之间的依赖关系,服务图将绘制系统如何连接的依赖关系树。

Istio架构

使用Weave Scope可视化群集:Service Graph显示了系统连接方式的高级概述,而Weave Scope工具为整个群集提供了强大的可视化和调试工具。使用Scope,可以查看每个pod中正在运行的进程以及哪些pod正在相互通信。 这允许用户了解Istio及其应用程序的行为方式。

Istio架构

[该贴被banq于2018-08-01 12:04修改过]


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

与孩子一起学编程

与孩子一起学编程

[美] 桑德Warren Sande、Carter Sande / 苏金国、姚曜 等 / 人民邮电出版社 / 2010-11 / 65.00元

一本老少咸宜的编程入门奇书!一册在手,你完全可以带着自己的孩子,跟随Sande父子组合在轻松的氛围中熟悉那些编程概念,如内存、循环、输入和输出、数据结构和图形用户界面等。这些知识一点儿也不高深,听起来备感亲切,书中言语幽默风趣而不失真义,让学习过程充满乐趣。细心的作者还配上了孩子们都喜欢的可爱漫画和经过运行测试的程序示例,教你用最易编写和最易理解的Python语言,写出你梦想中的游戏程序。 ......一起来看看 《与孩子一起学编程》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具