首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

3种Ansible Roles分步指南,教你如何使用Weave Scope探索微服务通信和服务网格

作者:Roger CARHUATOCTO

翻译:张晔

原文:Using Weave Scope to explore Microservices Communication and Service Mesh

原文地址:https://holisticsecurity.io/2018/01/12/using-weave-scope-to-explore-microservices-communication-and-service-mesh-openshift-and-istio/?utm_source=tuicool&utm_medium=referral

如果你正在使用ESB、消息代理、BPMS、SOA或微服务,就会注意到,你正在以不同的方式解决相同的独立应用程序问题,因为它们都是不同类型的分布式应用程序。这些问题是:

用户管理、认证和授权

日志记录、调试、监视和报警

集群、高可用性、负载均衡等

什么是服务网格

服务网格是另一种类型的分布式应用程序,在这其中服务、微服务或者APIs都是相互关联的。

基于容器化和编排平台的服务网格

一般来说,基于微服务和/或APIs的服务网格是由多个容器来部署的,这些容器是用Kubernetes 来编排的。在这种情况下,我们需要面对新的挑战,比如临时基础设施、零信任网络、网络分割或者采用新的方法来测试、监控、部署、操作等等。这就是我们所说的DevOps。

容器部署模式

与 EIP (企业集成模式)和软件设计模式一样,在容器化的平台上部署服务网格也有一定的模式。Google、Microsoft、Netflix 等建议使用一些模式来实现上述问题的解决方案。

例如,Google解释了三种很好的模式:

Sidecar模式

Ambassador模式

适配器模式

它们都支持基于容器的服务网格的构建。欲知详情,请阅读:

《基于容器的分布式系统的设计模式》by布伦丹·伯恩斯&大卫·奥本海默

PDF下载:https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/45406.pdf

什么是Istio

摘录自 Istio.io :

Istio是一个开放的平台,提供了一种统一的方式来连接、管理微服务,保证微服务安全。Istio支持管理微服务之间的交通流、执行访问策略和聚合遥测数据,这些都不需要对微服务代码进行更改。

Istio 给你:

自动负载平衡HTTP、gRPC WebSocket,TCP流量;

细粒度控制的交通行为与丰富的路由规则,重试,故障转移,故障注入;

可插入策略层和配置API支持访问控制,速度和配额限制;

自动度量、日志和跟踪所有流量在一个集群,包括集群入口和出口;

在集群中的服务之间,通过强身份断言,实现服务对服务的安全认证。

为什么使用Istio

摘录自Istio.io :

Istio解决了开发人员和运维人员在向分布式微服务架构过渡时所面临的诸多挑战。服务网格作为一个术语,通常用于描述组成此类应用程序的微服务网络和它们之间的交互。随着服务网格的规模和复杂性的增长,它会变得越来越难以理解和管理。它的需求包括发现、负载均衡、故障恢复、度量和监控,以及更复杂的操作需求,如A/B测试、canary发布、速率限制、访问控制和端到端验证。

Istio提供了一个完整的解决方案,通过行为洞察和对整个服务网格的操作控制,来满足微服务应用程序的不同需求。它在服务网络中统一提供了许多关键功能:

交通管理。控制服务之间的流量和API调用,使调用更加可靠,并使网络在面对不利条件时更加健壮。

可观测性。了解服务之间的依赖关系和它们之间的流量之间的关系,提供快速识别问题的能力。

政策执行。将组织策略应用于服务之间的交互,确保执行访问策略,并且在用户中公平地分配资源。策略更改不必通过更改应用程序代码来实现,而是通过配置网格。

标识和安全服务。在网格中提供可验证身份的服务,并提供保护服务流量的能力,因为它在不同程度的trustability网络中流动。

基于容器的服务网格与Istio

为了轻松得到一个极简 OpenShift 集群,我创建了3个 Ansible Roles--Weave Scope 、Istio 和 BookInfo 应用(基于容器的 API 和微服务) 来理解我们必须面对的挑战。3个 Ansible Roles是:

1.Minishift Ansible Role

地址:https://github.com/chilcano/ansible-role-minishift

在虚拟机中通过 Minishift 获得 OpenShift 集群。

2.Weave Scope Ansible Role

地址:https://github.com/chilcano/ansible-role-weave-scope

在 OpenShift 中部署本地运行的 Weave Scope 应用。

3.Istio Ansible Role

地址:https://github.com/chilcano/ansible-role-istio

在本地运行的 OpenShift 中部署和配置 Istio,部署 BookInfo 应用,并注入 Sidecar 代理(Envoy Proxy)。

我还创建了一些示例,可以测试并快速尝试上述角色的环境。

Weave Scope 将在这里发挥重要作用,它能够对整个基于容器的服务网格进行监控、可视化、故障诊断和轻松管理。

一旦完成了分步指南,你将获得下一个:

(操作步骤详见:https://github.com/chilcano/ansible-minishift-istio-security)

希望这篇文章对你能有所帮助。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180116G0QI3000?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券
http://www.vxiaotou.com