本文整理自Istio社区成员Star在

Cloud Native Days China 2019 北京站的现场分享

第1则

主角 Istio

Istio作为service mesh领域的明星项目,从2016年发布到现在热度不断攀升。

Istio & Envoy Github Star Growth

官网中Istio1.1的架构图除了数据面的Envoy和控制面的Pilot,Mixer,Citadel三大组件外,引入了Galley组件验证Istio API 的配置。

Istio能带来什么收益呢?

开发和运维过程中我们经常会碰到下面的问题:如何做到新版本的上线不影响现网业务的运行?如果访问系统的请求突然增多,我们的系统处理不了怎么办?如果系统出现问题,究竟是哪个服务的问题,服务之间的调用关系如何?业务程序员通常缺乏安全相关的知识,能不能做到直接对没有加密的流量自动加密?针对这些问题,Istio都有相应的方案解决,对应于它的各个功能组件。

第2则

Istio 1.1大不同

Istio 1.0的主题是生产可用,而1.1版本则是企业可用,强调1.1在大规模集群(很多服务和负载)下的性能和可靠性能够得以保障。

下表是Istio1.1和1.0在流量管理的特性状态的对比:

Istio 1.1版本的性能提升方面成果显著。

在应用性能上:

  • 应用的平均时延下降 30%

  • 在大规模集群中,服务启动速度提高 40%

在管理面组件资源占用率上:

  • 大规模集群中,Pilot CPU使用下降 90%

  • 大规模集群中,Pilot 内存使用下降 50%

Istio 1.1版本为提高性能贡献的重点优化项如下:

  • Sidecar API,减少发给proxy的配置数量以及pilot负载

  • 网络配置规则(Destinationrule,Virtualservie, ServiceEntry)中增加的 exportTo字段限制配置的可见范围

  • Envoy默认收集的统计数据大量减少

  • 给mixer增加load-shedding功能,防止overload。

  • 提升envoy和mixer之间的交互协议

  • 可配置并发线程数,提高吞吐量

  • 可配置filter来约束mixer遥测数据

升级到Istio 1.1也很方便

1. 控制面板升级

  • Kubernetes rolling update

  • Helm 升级

2. 数据面升级

  • 通过对所有的pods触发rolling update重新注入sidecar (例如:patching the grace termination period)

Istio1.1的多集群网格管理

新引入了多控制面方案和集群感知(Split Horizon EDS)的单控制面方案:

多控制平面方案

单控制平面(Split Horizon EDS)方案

关于服务可见性,刚才说到的大集群规模性能的提升很大一部分归功于服务可见性。主要由两部分结合起来使用:

  • ExportTo字段

    服务端的Service/ServiceEntry/Virtualservice/Destinationrule 配置exportTo字段,申明此网络资源的可见范围。

  • 新增sidecar资源对象

    请求端所在的namespace配置sidecar对象,可以精确控制sidecar转发到指定的namespace或service。

安全特性方面比较关心的一项是SDS(Secret Discovery Service):

  • 提供更强的安全性:

    通过节点密钥生成,私钥仅存在于 Citadel 和 Envoy Sidecar 的内存中。

  • 不依赖 Kubernetes Secret

    不需要挂载Secret 卷。

  • 证书替换不需要重启 Envoy

    Sidecar 能够利用 SDS API 动态刷新密钥和证书。

Istio 1.1的命令行工具Istioctl增加了离线校验命令和验证安装命令,Istioctl弃用create、replace、get 和 delete使用 kubectl 代替,同时支持kubectl操作Istio网络资源时使用缩写。

Istio社区成立了用户体验工作组,专门致力于提高Istio的易用性,进一步降低使用门槛。

相关服务请访问:https://support.huaweicloud.com/cce/index.html?utm_content=cce_helpcenter_2019

关于Istio 1.1,你所不知道的细节的更多相关文章

  1. Android任务和返回栈完全解析,细数那些你所不知道的细节

    附:Android  task详解 出处:http://blog.csdn.net/guolin_blog/article/details/41087993 原文: http://developer. ...

  2. Android Context完全解析,你所不知道的Context的各种细节

    Context相信所有的Android开发人员基本上每天都在接触,因为它太常见了.但是这并不代表Context没有什么东西好讲的,实际上Context有太多小的细节并不被大家所关注,那么今天我们就来学 ...

  3. 你所不知道的 CSS 滤镜技巧与细节

    承接上一篇你所不知道的 CSS 动画技巧与细节,本文主要介绍 CSS 滤镜的不常用用法,希望能给读者带来一些干货! OK,下面直接进入正文.本文所描述的滤镜,指的是 CSS3 出来后的滤镜,不是 IE ...

  4. 你所不知道的 CSS 阴影技巧与细节

    关于 CSS 阴影,之前已经有写过一篇,box-shadow 与 filter:drop-shadow 详解及奇技淫巧,介绍了一些关于 box-shadow 的用法. 最近一个新的项目,CSS-Ins ...

  5. 你所不知道的 CSS 阴影技巧与细节 滚动视差?CSS 不在话下 神奇的选择器 :focus-within 当角色转换为面试官之后 NPOI 教程 - 3.2 打印相关设置 前端XSS相关整理 委托入门案例

    你所不知道的 CSS 阴影技巧与细节   关于 CSS 阴影,之前已经有写过一篇,box-shadow 与 filter:drop-shadow 详解及奇技淫巧,介绍了一些关于 box-shadow  ...

  6. 你所不知道的五件事情--java.util.concurrent(第二部分)

    这是Ted Neward在IBM developerWorks中5 things系列文章中的一篇,仍然讲述了关于Java并发集合API的一些应用窍门,值得大家学习.(2010.06.17最后更新) 摘 ...

  7. 你所不知道的Html5那些事(一)

    文章简介:       关于html5相信大家早已经耳熟能详,但是他真正的意义在具体的开发中会有什么作用呢?相对于html,他又有怎样的新的定义与新理念在里面呢?为什么一些专家认为html5完全完成后 ...

  8. 你所不知道的html5与html中的那些事(五)——web图像

    文章简介:       现在的页面,一般都离不开图像,而怎么做才能让我们的页面中的图像加载的又快又好呢?在优化页面速度的时候还有什么事是你所不知道的呢?     下面看看今天我为大家带来了哪些关于we ...

  9. 你所不知道的setInterval

    在你所不知道的setTimeout记载了下setTimeout相关,此篇则整理了下setInterval:作为拥有广泛应用场景(定时器,轮播图,动画效果,自动滚动等等),而又充满各种不确定性的这set ...

随机推荐

  1. FormsAuthentication使用指南,实现登录

    一般情况下,在我们做访问权限管理的时候,会把用户的正确登录后的基本信息保存在Session中,以后用户每次请求页面或接口数据的时候,拿到Session中存储的用户基本信息,查看比较他有没有登录和能否访 ...

  2. [LeetCode] 133. Clone Graph 克隆无向图

    Clone an undirected graph. Each node in the graph contains a label and a list of its neighbors. OJ's ...

  3. 主机与虚拟机Oracle VM VirtualBox不能拖动复制的解决办法

    先将虚拟机系统关机,然后打开Oracle VM VirtualBox管理器: 第一步: 常规高级里共享粘贴板已经选中双向 第二步: 虚拟机设置-存储-控制器SATA(或IDE)-勾选"使用主 ...

  4. docker+k8s基础篇三

    Docker+K8s基础篇(三) kubernetes上的资源 A:k8s上的常用资源 Pod的配置清单 A:Pod上的清单定义 B:Pod创建资源的方法 C:spec下其它字段的介绍 Pod的生命周 ...

  5. QT/C++ 类型转换

    "轻轻地我走了,正如我轻轻地来,我挥一挥衣袖,不带走一片云彩"------阿魔 1) int转为QString: QString::number(int) 2) std::stri ...

  6. 13 Spring 的事务控制

    1.事务的概念 理解事务之前,先讲一个你日常生活中最常干的事:取钱.  比如你去ATM机取1000块钱,大体有两个步骤:首先输入密码金额,银行卡扣掉1000元钱:然后ATM出1000元钱.这两个步骤必 ...

  7. java笔记——java加载与执行

    java的加载与执行过程: 编译阶段: 首先,我们先创建一个java源文件xxx.java 2. 经过javac.exe编译(如果源文件没有语法错误),生成一个或多个.class文件,注意的是此时的字 ...

  8. stm32F103片上串口USART1通信实验

    硬件说明:如原理图所示, 103的PA10 PA11分别接CP2102usb转串口芯片的TXD RXD引脚.CP2102芯片是将串口和电脑USB接口进行了转接,方便应用灵活. 片上串口驱动代码如下. ...

  9. Python中的int函数

    python帮组文档 class int(x, base=10) Return an integer object constructed from a number or string x, or ...

  10. Ubuntu修改文件权限以及更换文件所有者

    参数 -R 用来递归实现更改所有子文件和子目录的权限. 1.利用chmod修改权限: 对Document/目录下的所有子文件与子目录执行相同的权限变更: chmod -R 700 文件名 700是变更 ...