服务网格的可视性和安全性
服务网格是一个专用的基础架构层,它可以被用于处理服务与服务(service-to-service)之间的通信。通过构建云原生的现代化应用,服务网格能够使用复杂服务拓扑,来可靠地传递各种请求。服务网格的实现,实际上是与应用代码一起部署的轻量级网络代理阵列。换句话说,它是由附加到应用程序中所有pod的sidecar代理所组成。服务网格的概念,随着与之相连接的云原生应用的迭代,而不断进化。值得注意的是:服务与服务之间的通信不仅十分复杂,而且涉及到运行时(runtime)行为的基本方面,因此服务网格能对它们进行管理,进而有效地确保端到端的性能与可靠性。 除了为Kubernetes提供服务,服务网格还包括安全性、可视性、以及路由等功能。许多人普遍认为:如果本组织需要实现集中化的控制,那么服务网格就是确保内部平台能够统一执行治理策略的唯一方法。 下面,让我们来看看企业是如何通过使用服务网格,配合Kubernetes,来有效地控制服务的安全性、可视性、路由、以及负载平衡。 安全性增强 安全性是服务网格主要关注的一个方面。它能够确保以集中控制的方式,在整个组织中实现加密、以及细粒度的访问控制规则。相对于传统的单点控制,服务网格能够全面地控制各种网络流量,进而提供更好的安全态势。 此外,随着微服务数量的增加,网络流量也会随之增多。这在无形中也方便了攻击者轻松地攻击各种通信流。因此,为了确保网络中流量交互的安全性,服务网格通过提供双向传输层安全(mutual TLS,Transport Layer Security),来提供验证服务、执行安全策略、以及加密服务间流量的全栈式解决方案。 加密 由于微服务之间的通信需求不断地增加,我们需要通过可靠的加密服务来为其保驾护航。服务网格能够协助实现密钥、证书、以及针对持续加密的TLS配置管理,因此用户不再需要手动执行加密或证书管理。同时,服务网格提供了基于策略的身份验证,可以在两个服务之间建立双向的TLS配置,以实现服务之间(service-to-service)的安全加密通信,和最终用户的身份验证。 可视性 尽管Kubernetes能够帮助我们有效地保持Pod的运行、以及节点的CPU和内存利用率处于良好状态,但它无法告知我们到底是谁部署了何种应用程序,以及该应用的性能如何。而服务网格可以通过其提供的服务级别可见性,跟踪和监控功能,来提高分布式服务的可视性。它是目前能够提供应用级可用性状态信息的最佳方法。此外,服务网格还能让开发运维团队了解每个服务在第三、四层以下的运行状况,以及应用的整体表现。 您可以通过这些可见性,来更好地响应事件和排除故障。例如:如果应用架构中的某项服务出现了性能瓶颈,那么服务网格就可协助您轻松地切断某个故障服务,禁用那些无法正常运行的副本,进而保持API的正常响应速度。 (编辑:上饶站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |