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

Posted ServiceMesh中文网

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3种Ansible Roles分步指南,教你如何使用Weave Scope探索微服务通信和服务网格相关的知识,希望对你有一定的参考价值。

翻译:张晔

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



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

  • 用户管理、认证和授权

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

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


什么是服务网格

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

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


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

一般来说,基于微服务和/或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支持访问控制,速度和配额限制;


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


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


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


为什么使用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

    

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



2. Weave Scope Ansible Role


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



3. Istio Ansible Role


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


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

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

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

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

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

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

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

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

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


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


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






推荐阅读






活动推荐:

1月27日,数人云Building Microservice系列沙龙活动,第一期深圳站 《Cloud Native架构下的K8S和微服务实践》,报名倒计时两周啦。点击阅读原文快来报名!


ServiceMesh中文社区:

ServiceMesh中文社区(servicemesh.cn)已上线,Istio、Conduit官方文档翻译版已在社区发布,欢迎大家登录浏览


ServiceMesh微信交流群:



以上是关于3种Ansible Roles分步指南,教你如何使用Weave Scope探索微服务通信和服务网格的主要内容,如果未能解决你的问题,请参考以下文章

自动化运维工具-Ansible的Roles的使用

Ansible的roles角色详解

使 PHP 的 mail() 函数在 OS X Mavericks 上工作的分步指南

Ansible Roles

八ansible roles和ansible galaxy

Ansible中Roles的使用