点击上方“程序猿技术大咖”,关注并选择“设为星标”
本篇文章来自《华为云云原生王者之路训练营》黄金系列课程第9课,由华为云研发专家Lynsey 博士主讲,详细介绍服务网格的概念和Istio服务网格架构及使用场景。
服务网格的概念介绍
服务网格的发展历程
云原生业界定义和技术发展趋势
CNCF(Cloud Native Computing Foundation(云原生计算基金会))对云原生定义:云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API。

趋势:服务治理与业务逻辑逐步解耦,服务治理能力下沉到基础设施,服务网格以基础设施的方式提供无侵入的连接控制、安全、可监测性、灰度发布等治理能力,如华为ASM、谷歌GCP。
服务网格是承载微服务架构理念的云原生技术形态
微服务源自服务化架构设计理念,与敏捷开发DevOps理念的结合:微 小、快、独
经过三代的技术演进,随着云计算发展到云原生阶段,服务网格(service mesh)则成为承载微服务理念的新一代技术形态

服务网格是一种云原生的、应用层的网络技术
云原生:面向弹性、(微)服务化、去中心化业务场景
应用层:以应用为中心,关注应用的发布、监控、恢复等
网络:关注应用组件之间的接口、流量、数据、访问安全等
Istio 项目发展历程:多个头部云厂商参与,已经商业Ready

在Google、IBM、RedHat等开源巨头成熟的项目运作与社区治理机制下快速发展:
Istio 作为第二代 Service Mesh 技术,通过基于K8s标准扩展的控制面带来了前所未有的灵活性及扩展能力,影响力远超更早出现的 Linkerd
Istio背负巨大的使命,Google希望在继Kubernetes成为容器编排的事实标准之后,打造另一杀手锏级别的技术,成为服务网格的事实标准
Google与IBM大厂的加持,在资源及影响力层面远非Buoyant可比拟的
众多厂商参与Istio社区,共同推进繁荣
从企业级可用的1.1版本之后,社区每隔3个月发布一个大版本
成立Steering Committee,社区的运作、治理更加透明
Istio 已日趋成为服务网格标准
Istio是一种云原生的、应用层的、网络技术,用于解决组成应用的组件之间的连接、 安全、策略、可观察性等问题。

容器和微服务共同的轻量、敏捷的特点,微服务运行在容器中日益流行;
Kubernetes在容器编排领域成为事实标准
Istio 提供 Service Mesh方式无侵入微服务治理能力,成为微服务治理的趋势
Istio和Kubernetes紧密结合。基于Kubernetes构建,补齐了Kubernetes的治理能力,提供了端到端的微服务运行治理平台。
对于云原生应用,采用 Kubernetes 构建微服务部署和集群管理能力,采用 Istio 构建服务治理能力,将逐渐成为应用微服务转型的标准配置。
Istio服务网格架构及使用场景介绍
Istio的概念初识
以天气预报服务为例:
Frontend:前端服务
Advertisement:它有两个版本,v1和v2版本
DB:数据库服务

Istio提供4个方面的能力:
连接能力:连通服务之间的调用,Frontend服务可以访问Advertisement服务,Advertisement服务来访问database服务
安全性:保护服务和服务之间访问链路的安全性
可观察性:直观的可观测服务之间调用的情况
可控制:通过策略下发控制服务之间的访问


Gateway

Virtual Service

Destination Rule

Istio的技术架构

逻辑划分:
数据平面:由一组智能代理(Envoy)组成,被部署为 sidecar。
控制平面:管理并配置代理来进行流量路由
Istio 核心组件:
Pilot:为 Envoy sidecar 提供服务发现、用于智能路由的流量管理功能(例如,A/B 测试、金丝雀发布等)以及弹性功能(超时、重试、熔断器等)。
Citadel:通过内置的身份和证书管理,可以支持强大的服务到服务以及最终用户的身份验证。
Galley:Istio 的配置验证、提取、处理和分发组件。
Istio的特性功能

核心理念:
非侵入式Sidecar注入技术,将数据面组件注入到应用所在的容器,通过劫持应用流量来进行功能实现,应用无感知。 北向API基于K8s CRD实现,完全声明式,标准化。 数据面与控制面通过xDS gRPC标准化协议通信,支持订阅模式。
核心特性:
服务&流量治理:熔断,故障注入,丰富的负载均衡算法,限流,健康检查,灰度发布,蓝绿部署等 流量与访问可视化:提供应用级别的监控,分布式调用链,访问日志等 安全连接:通过mTLS、认证、鉴权等安全措施帮助企业在零信任的网络中运行应用
Istio的应用场景
灰度发布:版本升级平滑过渡的一种方式,金丝雀发布、蓝绿发布等;
流量管理:负载均衡、连接池管理、熔断、故障注入等;
访问可视化:监控数据采集、运行指标分析、应用拓扑和调用链展示等;
应用场景:电商应用、政企业务、视频业务等。
感谢您的阅读,也欢迎您发表关于这篇文章的任何建议,关注我,技术不迷茫!

云原生第8课:Kubernetes应用配置管理 云原生第7课:Kubernetes 网络与服务管理 云原生第6课:Kubernetes持久化数据卷管理 云原生第5课:Kubernetes工作负载管理 云原生第4课:Kubernetes 集群管理 云原生第3课:Kubernetes 系统快速入门 云原生第2课:云原生技术体系中的基石-容器技术 云原生第1课:云原生发展历程与技术体系

喜欢就点个"在看"呗,留言、转发朋友圈




