Istio 2020 年 Roadmap——一切为了商用

原文地址:https://preliminary.istio.io/zh/blog/2020/tradewinds-2020/,由 ServiceMesher 社区翻译。

Istio 解决了人们在运行微服务时遇到的实际问题。甚至早期的预发行版本就已经可以帮助用户诊断其体系架构中的延迟,提高服务的可靠性以及透明地保护防火墙后的流量。

去年,Istio 项目成长巨大。经过 9 个月的酝酿,在 2019 年第一季度发行 1.1 之前,我们设定了一个季度发布节奏的目标。我们知道,持续且可预测地交付非常重要。我们计划连续三个季度发布三个版本,并且我们为实现了这一目标感到自豪。

过去一年,我们改进了构建和测试基础架构,从而提高了质量并简化了发布周期。我们将用户体验提高了一倍,添加了许多命令使网格的操作和调试变得更加简单。我们还看到为 Istio 做出贡献的开发人员和公司数量急剧增长,最终,我们成为了 GitHub 增长最快的十大项目中排名第 4 名!

2020 年,Istio 有宏伟的目标,并且我们正在努力中。与此同时,我们坚信良好的基础设施应该“无聊”。在生产中使用 Istio 应该是无缝的体验;性能不应该成为问题,升级应该是非事件性的,复杂的任务应自动化。随着我们对更强大的可扩展性的投入,我们认为 Istio 在专注于现在成就的同时,可以加快服务网格领域的创新步伐。以下是我们在 2020 年主要工作的详情。

更快、更简单

从第一天起,Istio 就通过 Mixer 组件提供了可扩展性支持。Mixer 是一个平台,允许使用自定义适配器充当数据平面与策略及遥测后端之间的中介。Mixer 必定会增加请求的开销,因为它必须扩展到进程之外。因此,我们正在向一种可以直接在代理中进行扩展的模型转变。

Istio 的认证和授权策略已经涵盖了 Mixer 用于策略执行的大多数用例,这些策略使您可以直接在代理中控制 workload 到 workload 以及终端用户到 workload 的授权。常见的监控用例也已经转移到代理中,我们引入了代理内支持,以便将遥测发送到 Prometheus 和 Stackdriver。

我们的基准测试表明,新的遥测模型可显著减少延迟,并可提供行业领先的性能,同时降低 50% 的延迟和 CPU 消耗。

新的 Istio 可扩展性模型

新的 Mixer 模型使用 Envoy 中的扩展来提供更多功能。Istio 社区正在领导 Envoy 的 WebAssembly(Wasm)运行时的实现,Wasm 让我们可以使用超过 20 种的语言来开发模块化、沙盒化的扩展。可以在代理继续提供流量的同时动态加载、重载扩展。Wasm 扩展程序还可以通过 Mixer 无法做到的方式来扩展平台。它们可以充当自定义协议处理程序,并在通过 Envoy 时转换有效负载,简而言之,它们可以执行与 Envoy 中内置的模块相同的操作。

我们正在与 Envoy 社区一起研究发现和分发这些扩展的方法。我们希望使 WebAssembly 扩展像容器一样易于安装和运行。我们的许多合作伙伴已经编写了 Mixer 适配器,并与我们一起将其移植到 Wasm。如何编写自己的扩展并进行自定义集成?我们正在开发相关的指南和代码实验室。

更换扩展模型后,我们还可以删除数十个 CRD。与 Istio 集成的每个软件都不再需要唯一 CRD。

通过 preview 配置文件安装 Istio 1.5 不会再安装 Mixer。安全起见,如果您是从以前的版本升级,或通过 default 配置文件安装,我们仍会保留 Mixer。当使用 Prometheus 或 Stackdriver 进行度量时,建议您尝试新模式并查看性能提高了多少。

如果有需要,您可以保持安装并启用 Mixer。最终,Mixer 将成为 Istio 单独的发行组件,成为 istio-ecosystem的一部分。

减少移动部分

我们还将简化其余控制平面的 deployment。为此,我们将几个控制平面组件合并为一个组件:Istiod。该二进制文件包括 Pilot、Citadel、Galley 和 Sidecar 注入器的功能。这种方法从许多方面改善了 Istio 的安装和管理,降低了安装和配置的复杂性、维护工作量以及问题诊断时间,同时提高了响应速度。关于 Istiod 的更多内容请查看 Christian Posta 的这篇博客。

我们将 istiod 作为 1.5 中所有配置文件的默认配置。

为了减少每个节点的占用空间,我们放弃了用于分发证书的节点代理,并将其功能迁移至已经在每个 Pod 中运行的 istio-agent 中。从图片来看,我们正在从这里:

Istio 目前的架构。

Istio 2020 年的架构。

2020年,我们将继续专注于普及,实现默认 零配置 的目标,该默认设置不需要您更改应用程序的任何配置即可使用 Istio 的大多数功能。

改进生命周期管理

为了改进 Istio 的生命周期管理,我们使用了基于 operator 的安装方式。这里介绍 Istio Operator CRD 的两种安装模式

  • 人为触发:使用 istioctl 将设置应用至集群。

  • 机器触发:使用一个控制器,实时观察 CRD 的改动并使其生效。

在 2020 年,升级 Istio 也将变得更加容易。我们将添加对 Istio 控制平面新版本的”金丝雀”支持,这使您可以同时运行现有版本的和新版本,并将数据平面逐渐切换至新版本。

默认安全

Istio 已经为强大的服务安全性提供了基础:可靠的 workload 身份、强大的访问策略、全面的审核日志记录。我们正在为这些功能提供稳定的 API;许多 Alpha API 都将在 1.5 版中过渡为 Beta 版,我们希望到 2020 年底它们都将成为 v1 版本。要了解有关 API 状态的更多信息,请参见我们的功能页面。

默认情况下,网络流量也变得更加安全。继许多用户可以在评估时启用它之后,自动双向 TLS 已成为 Istio 1.5 中的推荐做法。

此外,我们将让 Istio 所需的权限更少,并简化其依赖性,从而使 Istio 成为更强大的系统。在以前,您必须使用 Kubernetes Secrets 将证书安装到 Envoy,这些证书作为文件挂载至每个代理中。而现在,通过密钥发现服务(SDS) ,我们可以安全地分发这些证书,而不必担心它们会被计算机上的其他 workload 拦截。该模式将成为 1.5 中的默认模式。

摆脱节点代理,不仅简化了部署,而且消除了对整个集群范围内 PodSecurityPolicy 的要求,从而进一步改善了集群的安全性。

其它功能

这是 Istio 在 2020 年一些值得期待的、令人兴奋的事情:

  • 与更多托管的 Kubernetes 环境集成,目前已有 15 个供应商提供了 Istio 服务网格,这些公司包括:Google、IBM、Red Hat、VMware、Alibaba 以及 Huawei。

  • 更多的关注 istioctl 及其帮助诊断问题的能力。

  • 将基于 VM 的 workload 更好地集成到网格中。

  • 继续努力使多群集和多网络网格更易于配置、维护和运行。

  • 与更多的服务发现系统集成,包括 Functions-as-a-Service。

  • 实现新的 Kubernetes service API(目前正在开发中)。

  • 增强存储库,以便开发追踪功能。

  • 让没有 Kubernetes 的 Istio 可以更轻松地运行!

从大海到天空,Istio 期待您的加入!

点击 阅读原文 查看更多

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/311252.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SQL(七) - 事务、索引、视图

事务(Transaction) 3.1、什么是事务? 一个事务是一个完整的业务逻辑单元,不可再分。 比如:银行账户转账,从A账户向B账户转账10000.需要执行两条update语句: update t_act set balance balan…

如何编写高性能的C#代码(二)

使用Benchmark.NET对C# 代码进行基准测试的简介在我以前的文章中[10],我介绍了该系列文章[11],在其中我将分享我的经验,同时了解C#和.NET Core(corefx)框架的新性能。在本文中,我想着重于对现有…

如何编写高性能的C#代码(一)

原文来自互联网,由长沙DotNET技术社区编译。如译文侵犯您的署名权或版权,请联系小编,小编将在24小时内删除。作者介绍:史蒂夫戈登(Steve Gordon)是Microsoft MVP,Pluralsight的作者,…

从Java转向.NET/C#,Are You OK?

最近由于项目变动,需要用.NET/C#做开发,经过一段时间的学习和培训,对这个技术栈有了一定的理解。大家可能都知道Java和.NET/C#很像,这里粗略的把两者做一个对比,希望对感兴趣的童鞋有所帮助。如果现在有人问我&#xf…

树的节点值之和

题目背景 墨家家主有棵树。 题目描述 给定一个保存树节点信息的数据结构,它包含了树节点唯一的 id ,树节点值 和 直系子节点的 id 。 比如,树节点1是树节点2的父节点,树节点2是树节点3的父节点。他们相应的树节点值为 9 , 4 , …

.NET Core开发实战(第21课:中间件:掌控请求处理过程的关键)--学习笔记(上)...

21 | 中间件:掌控请求处理过程的关键这一节讲解一下如何通过中间件来管理请求处理过程中间件工作原理next 表示后面有一个委托,每一层每一层套下去可以在任意的中间件来决定在后面的中间件之前执行什么,或者说在所有中间件执行完之后执行什么…

简单的二叉树创建与遍历

编一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以指针方式存储)。 例如如下的先序遍历字符串: ABC##DE#G##F### 其中“#”表示的是空格,空格字符代表空树。建立起此二叉树以后&…

疫情期间,千万级系统宕机N次,老板撂下狠话:没法把性提升10倍,全员解雇!...

性能调优整体思路作为一名团队技术核心,如何让系统跑得通、跑得稳、跑得快是必然会面对的场景。性能分析是一个大课题,不同的架构、不同的应用场景、不同的程序语言分析的方法若有差异,抽象一下大致分为两类:自底向上:…

Anaconda创建python虚拟环境

在创建虚拟环境之前首先我们需要打开命令终端:Win R 输入cmd 或者直接打开Anaconda Prompt(Anaconda) pycharm下载历史版本地址:https://www.jetbrains.com/pycharm/download/other.html Anaconda下载历史版本地址:ht…

[蓝桥杯][算法提高VIP]夺宝奇兵-递推+记忆化搜索

题目描述 在一座山上,有很多很多珠宝,它们散落在山底通往山顶的每条道路上,不同道路上的珠宝的数目也各不相同.下图为一张藏宝地图: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 ”夺宝奇兵”从山下出发,到达山顶,如何选路才能得到最多的珠宝呢?在上图所示例子中,按照5-> 7-> 8-&g…

梯度下降与线性回归

对于代价函数: loss∑i(y^−yi)2loss\sum_i{(\hat{y}-y_i)}^2loss∑i​(y^​−yi​)2 loss∑i(w∗xib−yi)2loss\sum_i{(w*x_ib-y_i)}^2loss∑i​(w∗xi​b−yi​)2 最常见的代价函数:均方差代价函数(Mean-Square Error,MSE&…

.NET Core开发实战(第21课:中间件:掌控请求处理过程的关键)--学习笔记(下)...

21 | 中间件:掌控请求处理过程的关键如果在 Map 的时候逻辑复杂一点,不仅仅判断它的 URL 地址,而且要做特殊的判断的话,可以这么做把判断逻辑变成一个委托我们要判断当我们的请求地址包含 abc 的时候,输出 new abcapp.…

英伟达3060Ti安装GPU版本TensorFlow2.X和Pytorch

查看Python与TensorFlow对应版本 安装GPU版本的TensorFlow的时候,我们需要考虑的一个问题是Python版本与TensorFlow版本的对应关系,可以参考下面这个链接: Python对应TensorFlow CPU版本 GPU版本 查看显卡驱动对应的CUDA版本并且下载安装 …

200行代码,7个对象——让你了解ASP.NET Core框架的本质[3.x版]

2019年1月19日,微软技术(苏州)俱乐部成立,我受邀在成立大会上作了一个名为《ASP.NET Core框架揭秘》的分享。在此次分享中,我按照ASP.NET Core自身的运行原理和设计思想创建了一个 “迷你版” 的ASP.NET Core框架&…

逻辑回归(二)

逻辑回归 在学习逻辑回归之前我们先回顾一下线性回归。线性回归解决的是回归问题,简单来说就是,我们需要找到一个函数,这个函数需要尽可能的拟合所有训练集的样本点。 逻辑回归解决的是分类问题,它的目标是找到一个函数&#x…

上元节的灯会(灭)-区间dp

题目背景 上元节的庙会上,牛宝靠自己的聪明才智成功破解了花灯阵,点亮了在场所有花灯,但他没料到的是这个游戏包含AB两个项目,A项目就是点亮所有花灯,而B项目则是熄灭所有花灯。不过点亮的是花灯阵,熄灭的…

Asp.Net Core 中IdentityServer4 授权中心之应用实战

一、前言查阅了大多数相关资料,搜索到的IdentityServer4 的应用文章大多是比较简单并且多是翻译官网的文档编写的,我这里在 Asp.Net Core 中IdentityServer4 的应用分析中会以一个电商系统架构升级过程中普遍会遇到的场景进行实战性讲述分析,…

交通标志识别项目教程

项目结构图 下载好项目压缩包后解压,得到以上的文件,首先将画红圈的文件删除(如果有) 安装软件 安装Anaconda 安装Pycharm 安装格式工厂 在上图中这个位置输入cmd回车,即可打开命令终端。用这样的方式打开命令终端…

C# 视频监控系统

去过工厂或者仓库的都知道,在工厂或仓库里面,会有很多不同的流水线,大部分的工厂或仓库,都会在不同流水线的不同工位旁边安装一台电脑,一方面便于工位上的师傅把产品的重要信息录入系统,便于公司系统数据采…

sklearn svm如何选择核函数_机器学习之支持向量机多种核模型对比

机器学习xueyifeiyun1989zx,公众号:围着围巾的小黑机器学习之监督学习实战前文我们提到机器学习中的监督学习,其中有一个模型是我们提到的但是没有训练测试的,叫做支持向量机(简称SVM)。支持向量机也是监督学习里面一个非常容易理…