Kubernetes使云上的容器管理更加容易,Istio通过向其添加网络服务网格使其更加强大。首先,Docker改变了我们运行应用程序的方式,然后,Kubernetes改变了我们管理容器的方式。现在,开发项目Istio正在两者的基础上添加一个网络服务网格。
Istio基于开源特使代理。这个服务网格允许共享分布式应用程序的微服务相互通信和工作。正如Envoy的创建者马特・克莱因(Matt Klein)所写,Istio为现代微服务和云本地应用程序提供了“统一的控制计划,以一种连贯的方式将各个部分连接在一起”。
Istio还支持DevOps。在即将发布的博客中,谷歌Cloud的副总裁Eric Brewer和工程副总裁Eyal Manor指出,Istio提供了重要的DevOps框架,“例如用于监视、日志记录、授权和计费的公共系统”。Brewer和Manor说:“您需要工具来管理微服务集合,并确保它们之间的一致策略。更重要的是,这些策略需要与各个服务分离,以便它们能够更加统一,并且独立于服务进行更新。
Istio在网络级别执行此操作。通过在网络上工作,Istio可以轻松地将微服务与负载平衡、服务到服务的身份验证、监视等集成在一起,而无需更改底层代码。Brewer和Manor继续说:“Istio以遥测的形式为您的服务提供监视和日志的可见性,并根据服务的角色为每个服务提供强大的身份,以及默认启用加密,从而增强安全性。有了这个核心功能,Istio还可以作为更高级别服务的基础,例如:通过canary开发控制软件的推出,帮助实施网络安全策略。
Istio
这又意味着,“Istio还确保了开发和操作之间的适当解耦,允许操作团队在不实际更改源代码的情况下,更改系统的行为。”因此, Brewer和Manor表示,这种分离的开发和操作逻辑,Istio提供完成两件事情,它允许开发人员可以集中精力编写业务逻辑,而不是基础设施(从而使他们更有效率), 它为您的操作团队提供了更可靠地运行应用程序和服务所需的工具。
Istio已经发布了1.0版本。现在,笛卡尔实验室(Descartes Labs)、eBay和AutoTrader UK等用户都在使用它。Istio是Kubernetes生态系统中缺失的一块。笛卡尔实验室(Descartes Labs)联合创始人蒂姆・凯尔顿(Tim Kelton)在一份声明中表示:“Kubernetes 给了我们分配应用程序的能力,而Istio则给了我们理解应用程序的能力。”
谷歌正在努力为Istio带来更多的用户。Istio将于12月在测试版中提供给谷歌Kubernetes引擎即时通信(GKE)上的谷歌云用户。在GKE上,Istio在您现有的GKE群上分层一个服务网格,并在它们上收集遥测信息。然后将这些数据发送到Stackdriver或Prometheus。通过这些,你可以监视基于kubernet的微服务的流量、错误率和延迟。
Istio将变得重要的公司,谷歌并不是唯一的一家押注它。IBM、Red Hat和VMware也在改进开源网络服务网格。Istio很可能是IBM收购后混合云计划的重要组成部分。