- 1、本文档共60页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
?
?
使用 Istio 实现基于 Kubernetes 的微服务架构
?
?
本文“最初由 IBM developerWorks 中国网站发表,其网址是 /developerworks/cn”。原文题目为:使用 Istio 实现基于 Kubernetes 的微服务应用
概述
近两年,随着容器、Kubernetes 等技术的兴起,微服务这个概念被广泛提及并被大量使用。本文将会从以下几个方面着手,结合实验展现的方式,让读者真正理解微服务的含义。新一代的微服务架构 Istio基于 Istio 的微服务实验展现
Istio 的架构分析
Istio 介绍
Istio 是一个开源的 Service Mesh 架构,旨在通过与 Kubernetes 相结合,大幅降低微服务的复杂度,以便让代码开发人员更关注于代码本身。
Istio 开源项目由 Google 和 IBM 主导,根据 网站的统计,该社区代码 Commits 厂商排名如下:
18u7ugxrevij
图 1. Istio 各厂商代码贡献量图示
ku8y9mkvsgk
图 2. Istio 各厂商代码贡献量排名
在 Github 上,Istio项目受关注的程度非常高,您可进一步了解。接下来,我们详细介绍 Istio 的技术架构。
Istio 的架构
Istio 分为两个平面:数据平面和控制平面。
数据平面:数据平面由一组 sidecar 的代理(Envoy)组成。这些代理调解和控制微服务之间的所有网络通信,并且与控制平面的 Mixer 通讯,接受调度策略。
控制平面:控制平面通过管理和配置 Envoy 来管理流量。此外,控制平面配置 Mixers 来实施路由策略并收集检测到的监控数据。
w23e8rj8gjk
图 3. Istio 的架构图
在介绍了 Istio 的两个平面以后,我们详细介绍 Istio 的各个组件。
Envoy 是一个用 C ++开发的高性能代理,用于管理 Service Mesh 中所有服务的所有入站和出站流量。 Istio 利用 Envoy 的许多内置功能,例如:
动态服务发现
负载均衡
TLS 终止
HTTP / 2 和 gRPC 代理
断路器
健康检查
流量分割
故障注入
监控指标
我们知道,在 Kubernetes 中集群中,pod 是最小的计算资源调度单位。一个 pod 可以包含一个或者多个容器,但通常是一个。而使用 Istio 的时候,需要在 pod 中主容器旁注入一个 sidecar,也就是上面提到的代理(Envoy)。
举一个例子,我们查看一个被注入了 Envoy 的 pod,从下图结果可以看到,这个 pod 包含两个容器:
xa1bvrzdir
图 4. 查看 pod 中的 Containers
在 Istio 中,每一个 pod 中都必须要部署一个 Sidecar。
Mixer:Mixer 是一个独立于平台的组件,负责在整个 Service Mesh 中执行访问控制和使用策略,并从 Envoy 代理和其他服务收集监控到的数据。
PilotPilot 为 Envoy 提供服务发现;为高级路由(例如,A / B 测试,金丝雀部署等)提供流量管理功能;以及异常控制,如:超时,重试,断路器等。
Citadel:Citadel 通过内置身份和凭证管理,提供强大的服务到服务和最终用户身份验证。我们可以使用 Citadel 升级 Service Mesh 中的未加密流量。我们可以使用 Istio 的授权功能来控制谁可以访问服务。
Istio 路由规则的实现
在 Istio 中,和路由相关的有四个概念:Virtual Services 、Destination Rules、ServiceEntry、Gateways。
Virtual Services 的作用是:定义了针对 Istio 中的一个微服务的请求的路由规则。Virtual services 既可以将请求路由到一个应用的不同版本,也可以将请求路由到完全不同的应用。
在如下的示例配置中,发给微服务的请求,将会被路由到 productpage,端口号为 9080。
清单 2. Virtual Services 规则route:
destination: host: productpage port: number: 9080
Destination Rules 定义在路由发生后应用于服务的流量的策略,例如熔断等。
在下面的示例配置中,定义了熔断策略。清单 3. Destination 规则
spec:
host: productpage
subsets:
- labels:
version: v1
name: v1
tra
您可能关注的文档
- Kubernetes 滚动发布机制详解.docx
- Lua程序设计-面向对象编程、环境、垃圾收集概述.docx
- MySQL常用工具介绍(九)-客户端工具MySQL_show.docx
- MySQL忘记root密码解决方案.docx
- PowerBI企业级权限控制全动态终极解决方案.docx
- VectorSQL数据库技术概述.docx
- Velodyne与NVIDIA合作加速开发支持激光雷达的自主机器人解决方案.docx
- VisualStudio解决方案筛选器slnf文件.docx
- VLAN-交换机VLAN基础知识科普.docx
- 二维码门禁的智能管理模式.docx
- 2025AACR十大热门靶点推荐和解读报告52页.docx
- 财务部管理报表.xlsx
- 高中物理新人教版选修3-1课件第二章恒定电流第7节闭合电路欧姆定律.ppt
- 第三单元知识梳理(课件)-三年级语文下册单元复习(部编版).pptx
- 俄罗斯知识点训练课件-七年级地理下学期人教版(2024).pptx
- 课外古诗词诵读龟虽寿-八年级语文上学期课内课件(统编版).pptx
- 高三语文二轮复习课件第七部分实用类文本阅读7.2.1.ppt
- 高考物理人教版一轮复习课件第4章第3讲圆周运动.ppt
- 高考英语一轮复习课件53Lifeinthefuture.ppt
- 2025-2030衣柜行业风险投资发展分析及投资融资策略研究报告.docx
最近下载
- 黑格尔逻辑学(上下卷).doc VIP
- 全等三角形.1 全等三角形PPT.ppt VIP
- 04G410-1 1.5mX6.0m预应力混凝土屋面板(预应力混凝土部分).docx VIP
- 困境儿童监护风险评估与社会干预规范.pdf
- 0.中国中铁建筑施工典型异常工况安全处置工作指引宣贯材料.pptx VIP
- 《次函数的图象》课件.ppt VIP
- 康城丽都杨安的临电施工方案.doc VIP
- 2025年度湖北省公安厅面向社会公开招聘200名警务辅助人员笔试模拟试题及答案解析.docx VIP
- MacroSAN MS系列存储设备 双活特性 图形界面用户手册(CH, V2.09).pdf
- 新视野大学英语第三版B4U2教案.docx VIP
文档评论(0)