一、背景
====
最近架构组基于istio开发了服务网格(Service Mesh)平台,借此机会把相关的背景知识做一次学习和记录,方便回头查看。
初版的效果:
二、istio
=======
官方手册:https://istio.io/latest/zh/docs/concepts/what-is-istio/
1、Service Mesh简介
istio作为实现Service Mesh的一个开源项目,首先要对Service Mesh有了解。
在过去的几年中,微服务架构已成为软件设计中流行的样式。在这种架构中,我们将应用程序分解为可独立部署的服务。这些服务通常是轻量级的,多语言的,并且通常由各种职能团队进行开发部署。当某些服务数量增加,难以管理且越来越复杂时,微服务架构将一直有效。但这也在管理安全性,网络流量控制和可观察性等各个方面带来了挑战。
Service Mesh可以很好地帮助应对这些挑战。
-
Service Mesh 用于描述组成应用程序的微服务及其之间的交互。随着服务数量的增加和复杂性的增加,扩展和管理变得越来越困难。Service Mesh可以为微服务架构提供服务发现,负载均衡,故障恢复,指标和监视。
-
Service Mesh 通常还能够满足更复杂的需求,例如A/B测试,金丝雀发布,速率限制,访问控制和端到端身份验证。
-
Service Mesh 提供了一种轻松创建服务网络的方式,该网络具有负载均衡,服务到服务的身份验证,监视等功能,而微服务代码更改很少或没有更改。
2、为什么使用 Istio?
Istio 提供一种简单的方式来为已部署的服务建立网络,该网络具有负载均衡、服务间认证、监控等功能,而不需要对服务的代码做任何改动。简单的说,有了Istio,你的服务
就不再需要任何微服务开发框架(典型如Spring Cloud,Dubbo),也不再需要自己手动实现各种复杂的服务治理功能(很多是Spring Cloud和Dubbo也不能提供的,需要自
己动手)。只要服务的客户端和服务端可以进行简单的直接网络访问,就可以通过将网络层委托Istio,从而获得一系列的完备功能。
可以近似地理解为:Istio = 微服务框架 + 服务治理。
Istio的关键功能:
-
HTTP、gRPC、WebSocket 和 TCP 流量的自动负载均衡。
-
通过丰富的路由规则、重试、故障转移和故障注入,可以对流量行为进行细粒度控制。
-
可插入的策略层和配置 API,支持访问控制、速率限制和配额。
-
对出入集群入口和出口中所有流量的自动度量指标、日志记录和跟踪。
-
通过强大的基于身份的验证和授权,在集群中实现安全的服务间通信。
-
Istio 旨在实现可扩展性,满足各种部署需求。
核心功能
Istio 在服务网络中统一提供了许多关键功能:
流量管理
Docker步步实践
目录文档:
①Docker简介
②基本概念
③安装Docker
④使用镜像:
⑤操作容器:
⑥访问仓库:
⑦数据管理:
⑧使用网络:
⑨高级网络配置:
⑩安全:
⑪底层实现:
⑫其他项目:
存中…(img-ImxIqMbm-1714774044805)]
⑪底层实现:
[外链图片转存中…(img-SQpd95x5-1714774044805)]
⑫其他项目:
[外链图片转存中…(img-pgkcVkxN-1714774044806)]