Istio 1.5:对开发人员有什么帮助?

用户头像
麦叔
关注
发布于: 2020 年 04 月 30 日
Istio 1.5:对开发人员有什么帮助?



Istio是一个开源服务网格平台。 Idit Levine是Solo.io的创始人兼首席执行官,并与Istio广泛合作。 在本文中,她讲述了最新的Istio 1.5版本以及WebAssembly的新增功能为使用服务网格的开发人员带来的好处。



在云原生技术生态系统中,首先出现的是容器和Kubernetes,然后是应用程序,开发人员和操作员如何与存储,网络和安全交互的挑战。 Service Mesh的出现尤其是为了解决分布式微服务的服务间通信挑战。 通过从业务逻辑中抽象网络代码,服务网格在每个服务旁边部署了sidecar代理,以促进所有传入和传出流量。 该代理网络是服务网格的数据平面,以及如何通过控制平面控制(固定,定形和移动)网络模式。



Istio是由Google,IBM和Lyft领导的开放源代码服务网格,用于连接,监视和保护微服务,并在Kubernetes最终用户中广受欢迎。 Istio通常被称为过于复杂,它提供了强大的功能集来控制应用程序流量,并在2019年一直专注于提高可用性(简单性,性能),并将在2020年继续发展。



Istio 1.5的新增功能



最新版本Istio 1.5于3月5日发布,将重点放在为最终用户,社区和生态系统改善Istio的可用性,安全性和可扩展性上。 此版本的重点包括:



  • Istiod将控制平面整合为一个二进制文件,以简化安装,运行和升级的过程

  • WebAssembly的可扩展性新模型,提供了更灵活和有效的方式来扩展Istio和Envoy代理

  • 对istioctl(包括安装功能)和mTLS配置进行了大约12处改进,使其更易于使用

  • 简化和自动的mTLS,对身份验证的改进以及无需在每个Pod上安装证书的需求,从而更加安全

  • Telemetry v2支持TCP连接的度量标准并增强了对gRPC工作负载的支持,从而具有更好的可观察性



在Istio工作的这几年,很高兴看到该项目蒸蒸日上(在Github增长最快的十大项目中排名第四),并且新版本的重点是开发人员和运营商的可用性,更强的默认和社区参与项目的机会。 尤其是,WebAssembly 的工作将 Istio 和 trope Proxy 社区联系在一起,并建立一个统一的模型,说明如何扩展代理,并为更广泛的社区和生态系统参与建设和共享扩展创造机会。



用 WebAssembly 实现特征代理和 Istio 的可扩展性



[WebAssembly或Wasm](https://webassembly.org/)是一种可移植的二进制格式,以接近本机的速度执行代码。 在过去的18个月中,Istio和Envoy社区一直在共同努力,将WebAssembly带入上游Envoy项目,该项目之所以受欢迎,是因为其速度和可扩展性。



Envoy的可扩展性以过滤器的形式出现,但直到现在,它们仍是精通C ++的开发人员的领域,需要直接编译为Envoy实例。 这意味着任何想要编写和使用自定义过滤器的人都必须交付并维护自己的发行版。



Wasm的添加使开发人员可以用任何语言构建和编译自定义扩展,并在与Envoy实例隔离的实例中执行它们。 这使Envoy向更多开发者社区开放,以他们喜欢的语言编写扩展,并通过扩展与代理之间的“关注点分离”使环境对失败更具弹性,从而解决了有关其可访问性和可持续性的两个主要问题。



将其实现到上游Envoy中还意味着,每个下游解决方案(Istio,Gloo)都可以受益于使用WebAssembly定制其技术中代理的行为。



为 WebAssembly 提供“类似于 Docker”的开发人员体验



在发布Istio 1.5的同时,Solo.io与Google和Istio社区合作,发布了WebAssembly Hub的更新,以扩展对Istio和Envoy的支持。



WebAssembly Hub于2019年12月首次启动,是开发人员和运营商针对基于Envoy的解决方案构建,发布和共享其Wasm扩展的地方。 WebAssembly Hub使具有工作流的开发人员可以非常轻松,快速地启动一个新的WebAssembly项目,在Docker中使用Bazel进行构建,并将其推送到OCI兼容注册表中,以与他们的团队和社区共享。



操作员可以从集线器中提取模块并自行配置Envoy代理以从磁盘加载它。 在幕后,WebAssembly Hub是一种工具,可通过引入正确的工具链,进行版本验证,权限控制并自动执行扩展的部署来平滑开发人员的体验。



WebAssembly Hub提供了强大的CLI和GUI体验,因此开发人员和操作员都可以在构建和部署所需代理自定义方面进行协作。 WebAssembly Hub是免费使用的,邀请社区参与分发任何类型的[Wasm模块](https://github.com/solo-io/wasm-image-spec)的规范的定义,并欢迎[Slack社区](https://slack.solo.io/)提供反馈和要求。



发布于: 2020 年 04 月 30 日 阅读数: 60
用户头像

麦叔

关注

与其等待未来,不如创造未来 2020.04.10 加入

非科班程序员

评论

发布
暂无评论
Istio 1.5:对开发人员有什么帮助?