作者:禅与计算机程序设计艺术
1.简介
为什么要讨论Istio中的安全性
在微服务架构中,服务间通信越来越频繁,安全性是一个不可或缺的问题。但是,在Istio出现之前,服务间通信一般都是采用TCP协议进行传输,由于TCP是面向连接的协议,而非流式协议,且无法加密传输数据,因此安全隐患非常突出。当时主流解决方案比如nginx代理、envoy网格等,它们只能支持服务间通信的可靠性,不能提供完整的服务安全保证。随着容器编排领域的火爆,云原生应用越来越多,容器化、微服务化的模式越来越流行,越来越多的人开始关注服务安全问题。Kubernetes社区推出了Istio项目,其主要功能就是为服务间通信提供安全保障。Istio利用sidecar代理拦截、修改、监控、路由流量,并集成了一系列安全工具帮助用户保障服务间通信的安全。
目前,Istio已经成为微服务领域最热门的技术之一,据可靠消息统计显示,截至2021年5月,已超过57%的公司开始使用Istio来管理微服务架构。而且,Istio的功能如此强大,能够让企业解决各种微服务架构中的安全问题,这无疑将成为企业IT转型的重要课题。
Istio中的服务间通信流程
服务间通信一般分为三种模式:
- Client-Side Car Interception Model(客户端接管模型)
- Sidecar Interception Model(服务器端接管模型)
- Envoy Proxy Based Ingress/Egress Model(基于Envoy代理的In