首页 文章 精选 留言 我的

精选列表

搜索[what],共2558篇文章
优秀的个人博客,低调大师

Kube-OVN 社区规划 Roadmap 2021-2022 | What’s the next?

作为全球首个被CNCF纳入托管的开源CNI网络项目,Kube-OVN已经成为K8s生态中功能最完备、对传统基础设施兼容性最佳的开源网络组件。 开源至今两年的时间里,Kube-OVN已完成29次发版,在Github上收获近900 star,有来自灵雀云、中国电信、Intel、华为、浪潮等诸多公司的数十位贡献者参与代码编写,同时积累了70+企业用户,其中不乏联通、电信、华为、联想、中国电子、字节跳动等巨头公司。同时,Kube-OVN也是木兰开源社区旗下的明星项目之一。 随着社区贡献者和用户体量的不断增加,有越来越多新的需求和新的使用场景不断被挖掘出来。Kube-OVN发起人、社区Maintainer,来自灵雀云的网络工程师刘梦馨在前不久举办的Kube-OVN社区大会上,分享了Kube-OVN的发展历史、最新的功能及使用场景,并重点介绍了下一阶段项目发展的Roadmap。 Kube-OVN的成长历程 Kube-OVN项目在2019年5月正式开发了第一个版本,当时还是在十分早期的阶段,而且只有很有限的功能,比如在0.1.0这个版本中,只有很简单的子网固定IP的分配和基本的pod和node之间的互通。之后就开始了一步一步的探索,思考如何把这个项目做得越来越好。 这里列出了我们认为对项目和社区发展来说比较关键的几个步骤: 在Kube-OVN成长的过程中,我们还和很多其他的开源社区做过联动,比如OpenStack、KubeSphere、KubeVirt等社区,希望能从社区联动中学习开源社区运营方式、与社区同行进行深入的技术交流、拓展联合使用场景,同时也希望吸引更多对容器网络、对Kube-OVN感兴趣的社区用户加入。 到目前为止,Kube-OVN在Docker hub上的镜像下载达到了150万次左右,项目的贡献者已有40个,除了灵雀云内部的开发者,还有来自中国电信、浪潮、Intel、华为等企业的社区开发者。社区开发者给我们提供了很多的帮助,比如基于他们特定的使用场景,帮Kube-OVN实现了很多比较重和复杂的功能,在此也对这些开发者表示感谢。 开源两年来Kube-OVN共发行了29个版本,基本的节奏是每三个月会进行一个大的功能性版本的发布,每个月会进行bug修正等小版本的发布。希望能够保持这样的节奏,给大家提供越来越丰富的功能的同时,把Kube-OVN的稳定性、性能、还有可监控性等企业更为关注的特性不断完善。 Kube-OVN近期功能更新 1、多Vlan和Underlay的Network Kube-OVN最初只有Overlay的Network,是通过应用的隧道来建立的,但是在客户的实际场景里面,有很多关于Underlay或者多Vlan这样直接利用物理网络和物理设备的需求,感谢社区贡献了Vlan和Underlay网络需求,使得Kube-OVN在具有Overlay网络的同时,对那些对物理网络有极端的性能要求,或者有跟物理网络进行互通的网络需求的用户,也可以通过Vlan或者Underlay的方式来满足。 2、通过BGP路由的方式,宣告Pod/Subnet地址 除了通过物理网络Underlay直接打通,也提供了通过路由的方式,把容器网络包括容器的子网,跟外部的网络进行互通。 3、基于NVIDIA Smart-NIC进行性能方面的改进 去年跟NVIDIA智能网卡团队接触之后,了解到智能网卡有一些硬件卸载的能力,能够把OVS的流表匹配、隧道、TC等功能卸载到网卡上来执行。于是Kube-OVN和NVIDIA Smart-NIC进行了一些对接,从性能来看基本上可以达到和物理网络完全相同的水准,应该是目前容器网络里面最优的性能,不管是在延迟、吞吐量,还是CPU的消耗上,都能做到极限。所以如果大家未来对性能有需求的话,也可以考虑通过智能网卡进行网络的加速。 4、与Intel团队在DPDK上的合作 Kube-OVN可以在容器中运行DPDK的应用,这样可以通过用户自定义网络栈的方式,实现高性能的自定义网络。 5、支持双栈网络 Kube-OVN不仅支持IPv4和IPv6这种单栈网络的形式,同时也支持IPv4和IPv6同时存在的双栈的网络,如果用户从IPv4到IPv6进行迁移,这也是兼容比较友好的方式。 6、支持多集群网络 用户实际使用场景中,不太可能只有一个K8s的网络集群,而是会有多个K8s网络。那么如何在多个K8s集群之间进行网络的互通和流量的调度,在未来需要进行更多拓展。 当前,我们已经做到把两边的网络进行打通的基础功能,这样pod访问对端的pod时,不需要再经过比如说NAT,或者从外面绕一圈这种方式进行IP映射,而是直接通过对端的pod就可以直接访问了,这样相当于两边是一个三层透明、互通的状态。在这个基础之上,就可以做跨集群的流量调度,或者是跨集群的负载均衡等更复杂的工作。 7、支持多VPC的网络 在我们看来,传统的K8s网络其实还是一个大二层的网络,并没有租户的概念,而有了VPC这种多租户的网络支持之后,我们可以做到类似于公有云的VPC使用场景,就是多个租户之间可以拥有一套独立的IP地址空间。 多个租户之间的IP地址和空间是可以重叠的。我们通过这种VPC的方式,在最底层通过虚拟路由器或者虚拟交换机这样的网络编排,使得每个租户拥有完全独立的网络架构。这套方案对于公有云或者大型集团是更加友好的网络模型。 8、对监控和诊断工具都做了一些比较大的优化 Kube-OVN目前已有200多项监控项目,并且对于一些诊断的工具,包括网络质量的监控和流表的追踪等,都进行了大幅的增强。 2021-2022:Kube-OVN的下一步规划 Kube-OVN在未来一年或者是更长的时间内将要如何发展,也是我们一直在思考的问题。 1、重中之重:Kube-OVN的性能优化 随着落地的场景越来越多,管理的集群规模越来越大,Kube-OVN在性能方面一直承受着比较大的挑战。因此,Kube-OVN在这一年里最重要的工作是性能的优化。目前看到有下面几个比较明确的改进方向: 针对大规模集群,我们考虑调整OVN内部逻辑,以及使用动态隧道等方式来优化网络性能; 同时考虑使用eBPF这样性能比较高的网络实现来强化目前的方案; 由于硬件的发展对网络的影响越来越大,未来还会考虑加大投入在硬件方面的集成工作,包括智能网卡、FPGA可编程网卡等。希望尽可能把处理较慢的CPU密集型的操作下沉到网卡上,这样能明显提升整体网络的性能。 2、对于安全和监控的不断强化 接下来会对整体的K8s Network policy进行调整,同时希望引入eBPF来完成像安全策略、监控,审计这样的偏底层的功能。 还会引入监控的可视化,以及ipsec隧道加密等功能,这样Kube-OVN就会拥有一个整体的安全监控解决方案。 3、更多的使用场景 在社区用户的共同努力下,我们探索出了Kube-OVN容器网络解决方案的更多使用场景。 新一代数据中心SDN 云原生时代,容器虚拟化已成为数据中心未来发展的必然趋势。伴随容器带来的便携、低成本、可扩展等明显的竞争优势,在数据中心内部如何构建合理可用的容器网络架构,以满足不同形态的业务部署模式,成为新的挑战。 Kube-OVN打通 K8s 网络和传统网络,支持多种云原生工作负载,并提供丰富功能增强数据中心网络的能力,兼顾满足容器托管的新一代数据中心对容器网络提出的灵活、稳定、性能、兼容等各种需求。 未来,我们希望不只是用Kube-OVN管理容器网络,也希望通过Kube-OVN去管理虚拟机、裸金属等基础设施的网络。也就是说,Kube-OVN不再局限于K8s层面,而是下沉到整个数据中心、基础设施里面,变成基础设施的一部分,成为统一调度所有工作负载的网络。 IaaS与K8s统一网络技术栈 IaaS与K8s平行部署已经是大量用户的首选方案,可以为应用提供最佳的部署环境和最优化的性能保障。Kube-OVN可以帮助用户轻松打通K8s网络和OpenStack网络,让虚拟机和容器运行在同一网络平面,实现容器和虚拟机双向网络互访。 超融合/一体机 与传统架构相比,超融合/一体机对网络的负荷增加了2~4倍。Kube-OVN充分考虑超融合/一体机架构下,对分布式存储、业务访问以及节点之间通讯的网络需求,支持 Pod, KataContainer,KubeVirt 等多种K8s云原生工作负载;同时提供丰富的运维工具和监控面板,降低运维操作复杂度,为超融合/一体机场景提供完美的网络底层能力。 5G及边缘网络 我们看到跨集群的网络,包括多集群的Fedration、边缘计算等网络场景,都会对容器网络提出新的需求。 Kube-OVN提供诸如子网,固定IP,安全和QoS控制等网络管理功能,保证了租户间网络的强隔离和安全,同时避免资源争抢,极致利用边缘有限资源,为用户落地5G及边缘场景业务提供了高性能的网络支持。 微服务架构下高性能网络 Kube-OVN高性能的网络解决方案,让应用无缝接入K8s进行服务注册/发现的统一管理,实现应用系统的从接入、到容器化部署、再到微服务架构的平滑演进。 助力国产化生态发展 虽然市面上在容器网络方面有各种各样的技术,但目前主流CNI软件还是以国外开发为主。 Kube-OVN是由中国容器公司自主独立研发维护的开源软件,知识产权完全自主可控。同时,与鲲鹏、麒麟、飞腾、浪潮等国产化平台紧密开展深度合作与适配,是用户国产化生态下的开源容器网络组件选型的最佳选择。 Kube-OVN在CNCF和木兰开源社区的指导下,构建了完备的社区组织架构,同时也邀请到了一大批在云原生、网络和开源领域有影响力的大咖加入社区指导委员会,同时,灵雀云内部也建立了一个Kube-OVN的开发团队,通过这种专业的开源社区运营方式,以及稳定的研发力量,在接下来的半年中,我们会不断推出比较大的版本迭代和更新。 同时,也欢迎社区中对上述开发规划和社区运营感兴趣的小伙伴加入,大家共同描绘Kube-OVN未来的发展方向。 【Kube-OVN社区官网】https://www.kube-ovn.io/

优秀的个人博客,低调大师

5W1H聊开源之What——开源协议有哪些?

开源许可协议是指开源社区为了维护作者和贡献者的合法权利,保证软件不被一些商业机构或个人窃取,影响软件的发展而开发的协议。开源协议规定了用户在使用开源软件时的权利和责任,虽然不一定具备法律效力,但是当涉及软件版权纠纷时,也是非常重要的证据之一。 软件在追求“自由”的同时,不能牺牲程序员的利益,否则将会影响程序员的创造激情,因此世界上现在有 90 多种被开源促进组织(Open Source Initiative)认可的开源许可协议来保证开源工作者的权益(详细列表见:https://opensource.org/licenses/alphabetical)。 对于准备编写一款开源软件的开发人员,也非常建议先了解一下当前最热门的开源许可协议,选择一个合适的开源许可协议来最大限度保护自己的软件权益。 由宽松到严紧排序,常用的开源许可证有: MIT许可证 BSD许可证 Apache许可证 LGPL许可证 GPL许可证 MIT、BSD 许可证都源自大学,体现了简单、开放和包容的特点。 MIT、BSD、Apache 三者都支持闭源的后续开发。 GPL、LGPL 传染性开源,编译的代码里用了这里的代码,都必须开源。 具体选择可以参照乌克兰程序员 Paul Bagwell的这张分析图(阮一峰、小鱼周凌宇翻译): MIT协议 MIT 是十分宽松的许可协议,来源于大学,可以说是史上最为简洁和慷慨(permissive)的开源协议之一。 用户可以拿自己的代码做任何想做的事情; 用户在项目副本中要包含版权声明和许可声明; 用户无需承担任何责任。 作者只想保留版权,而无任何其他限制。也就是说,无论是以二进制发布的还是以源代码发布的,都必须在发行版里包含原许可协议的声明,。采用MIT协议的应用案例有JQuery、Rails 等。 BSD协议 BSD 协议也很宽松,给予了使用者很大自由,基本上允许用户“为所欲为”:用户可以使用、修改和重新发布遵循该许可的软件,并且可以将软件作为商业软件发布和销售。前提是需要满足下面三个条件: 如果再发布的软件中包含源代码,则源代码必须继续遵循 BSD 许可协议。 如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。 不允许用原始开源代码软件的名称、作者名字或机构名称进行市场推广。 BSD代码鼓励代码共享,但需要尊重代码作者的著作权。BSD由于允许使用者修改和重新发布代码,也允许使用或在BSD代码上开发商业软件发布和销售,因此是对商业集成很友好的协议,很受大公司的欢迎,因为可以完全控制这些第三方的代码,甚至在必要的时候可以修改或者二次开发。 Apache协议 Apache Licence是著名的非盈利开源组织Apache采用的协议。该协议和BSD类似,同样适用于商业软件,鼓励代码共享和尊重原作者的著作权,同样允许代码修改,但它更重视专利权。 如果修改了程序源代码,需要在文档中进行声明; 若软件是基于他人的源代码编写而成的,则需要保留原始代码的协议、商标、专利声明及其他原作者声明的内容信息; 如果再发布的软件中有声明文件,则需在此文件中标注 Apache 许可协议及其他许可协议。 Apache Licence也是对商业应用友好的许可。使用者也可以在需要的时候修改代码来满足需要并作为开源或商业产品发布/销售。现在热门的 Hadoop、Apache 家族、SVN、MongoDB 等项目都是基于该许可协议研发的。 GPL协议 GPL协议来源自由软件联盟GNU,GPL/LGPL都侧重于代码及衍生代码的开源与免费使用。GPL是传染性开源,只要软件中包含了遵循 GPL 协议的产品或代码,该软件就必须也遵循 GPL 许可协议,也就是必须开源免费,不能闭源收费,因此这个协议并不适合商用软件。 复制自由:允许把软件复制到任何人的电脑中,并且不限制复制的数量。 传播自由:允许软件以各种形式进行传播。收费传播允许在各种媒介上出售该软件,但必须提前让买家知道这个软件是可以免费获得的;因此,一般来讲,开源软件都是通过为用户提供有偿服务的形式来盈利的。 修改自由:允许开发人员增加或删除软件的功能,但软件修改后必须依然基于GPL许可协议授权。 遵循 GPL 协议的开源软件数量极其庞大,包括 Linux 系统在内的大多数的开源软件都是基于这个协议的。 LGPL开源协议 LGPL 是 GPL 的一个衍生版本,也被称为 GPL V2,该协议主要是为类库设计的开源协议,同样来源于自由软件联盟GNU,可以翻译为更宽松的GPL协议,也属于传染性开源。 用户如果只是对LGPL软件的程序库的程序进行调用而不是包含其源代码时,相关的源程序无需开源。 LGPL允许商业软件通过类库引用(link)方式使用LGPL 类库而不需要开源商业软件的代码。这使得采用LGPL协议的开源代码可以被商业软件作为类库引用并发布和销售。GPL/LGPL都保障原作者的知识产权,避免有人利用开源代码复制并开发类似的产品。

优秀的个人博客,低调大师

Streaming System 第二章:The What- Where- When- and How of Data Processing

本文由《Streaming System》一书第二章的提炼翻译而来,译者才疏学浅,如有错误,欢迎指正。转载请注明出处,侵权必究。 本章主要介绍鲁棒的处理乱序数据的核心概念,这些概念的运用使流处理系统超越批处理系统的关键所在。 路线图 上一章中,我们介绍了两个非常关键的概念: 事件时间和处理时间,只有在事件时间维度对数据进行处理,才能保证计算结果的准确性 窗口:窗口是处理无界数据流的通用方法,目前共有4类窗口。接下来我们介绍其他三个同样非常重要的概念: 触发器(Triggers)触发器是决定某个窗口何时输出的一种机制。作用跟照相机的快门相同,按下去,就能拿到某个时间点计算结果的快照。通过触发器,也能多次看到某个窗口的输出结果。因此可以实现迟到数据(late event)的处理。 Watermark(水印)Watermark是描述事件时间上数据完整

优秀的个人博客,低调大师

BAT三巨头激辩AI:李彦宏称强人工智能不会到来;马云说So TM What

李彦宏:强人工智能不会到来 李彦宏作为最懂人工智能的大佬,在今日大会中表示,在人类社会的发展变化中,互联网只是开胃菜,人工智能才是主菜。而且李彦宏强调,人工智能不是互联网的一部分,而是一个堪比历次工业革命级别的推动力。 谈到人工智能的现状,李彦宏表示目前机器学习的算法还在初级阶段,未来还有很多的提升空间,不过李彦宏随即抛出一个爆炸性的观点: “人工智能什么时候能挑战人的认知能力?我觉得还有很长很长的时间。我说话比较保守,我说很长呢,我是认为这一天永远不可能来到。” 清华大学国家金融研究院院长朱民在此前的分享中,说人工智能的发展阶段分成三个:弱人工智能、强人工智能、超人工智能。 “我认为强人工智能这个阶段,我们就达到不了”,李彦宏说不仅仅是人类永远可能永远也搞不清楚人脑是怎么工作的,即使是用电脑的方法模拟人脑,想要完全达到人脑的水平,“我觉得

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册