Jaguar项目 FAQ

自我们发起JAGUAR(捷豹)这个开源项目以来,受到了很多业界同仁的关注,关于一些常见的问题我们通过这篇文章进行一个比较全面的回答,希望能够解决大家的一些疑惑。同时,我们也对业界同仁的参与也欢迎之至,希望能够一同去推动这个项目,包括相关技术、组织方式、项目管理等内容都可以进行交流。

为了方便沟通,我们使用微信群进行交流,进群请加sdnlab001为好友,邀请您入群。

1 为什么会成立这个开源项目?

JAGUAR项目缘起于OpenDaylight应用开发课程的教学尝试,希望通过从零到一搭建一个开源项目来让学员真正了解开源文化,也能够在这个过程中真正全面的丰富知识、锻炼技能。然而一个开源项目没有真实生产需求也就注定只能是玩具,随后我们对JAGUAR的愿景也就变得更加丰富起来,期望通过SDN技术更好的解决生产环境中的问题,同时也能寓教于项目。

2 项目的适用场景

我们将JAGUAR的第一个场景选择为容器集群网络,一是由于容器技术应用广泛,凭借其优秀的性能和高度的灵活性也获得的诸多开发者青睐,二是容器集群的网络方案一直不尽如人意,往往只能提供简单的连接功能,需要产生一些创新。考虑到Kubernetes的大范围使用,其网络实现还谈不上是比较成熟的SDN,我们最终将Solution确定为基于OpenDaylight提供Kubernetes的网络解决方案。

下图是JAGUAR在kubernetes中的示例。

3 项目初期规划

初期的规划是能满足Kubernetes对网络的三条基本需求:

  • i.每个POD拥有一个独立IP,所有POD都可以在不用NAT的方式下同别的POD通讯
  • ii.所有Node都可以在不用NAT的方式下同所有POD通讯
  • iii.POD的IP地址和别人看到的地址是同一个地址,可以通过这个IP地址对POD进行管理监控

4 第一个版本为什么选择基于ODL的Carbon版本开发?

我们开始考虑建立这样一个开源项目是去年底,当时ODL社区发布的最新版本是碳和氮,氮版本是karaf从3.0升级到4.0的第一个版本,经过简单验证,碳版本确实也相对更稳定一些,因此第一个版本就选择了碳版本。

待10月份发布第一个版本后,如果验证氧版本能更好的满足后续的规划需求,便规划ODL的版本升级到氧。

5 为什么选择ovs+vxlan构建K8S的网络?

虽然docker在主机内的容器网络默认是linux bridge,但ovs相较于linux bridge提供了更多的协议支持和管理方式,支持OpenFlow,考虑到后续方案演进的灵活性和可能性,ovs更适合采用SDN的实现方式。

vxlan是目前主流的Overlay网络实现技术,在灵活性,可扩展性,部署简单性,成熟度上相较于同类技术都有优势,基于上述因素,我们选择了vxlan方案。

下图是JAGUAR网络实现原理。

6 为什么不考虑优先在ODL社区立项?

目前希望了解到更多国内的场景和用户需求,所以单独建立并管理开源项目在规划和技术方向选择上有更大的自主性。

7 未来版本规划是怎样的?

计划在今年10月份发布第一个具备基本功能的版本,后续的规划希望大家一起参与讨论,共同建设社区。

8 这个开源项目采用的开源许可协议是什么?

项目是基于ODL开发的,而且有些地方还直接引用了ODL的代码,因此本项目沿用了ODL的EPL-1.0协议(Eclipse Public License 1.0)。

9 参与这个项目需要具备哪些背景知识和开发技能?

通过这个项目你会了解到kubernetes,docker,odl ,ovs,ovsdb, openflow等开源项目和相关协议技术,但不要求大家一定要具备这些项目背景才可以参与,只要你感兴趣,就欢迎参与。

10 如何参与这个项目?

如果你想参与这个项目,你唯一需要做的是在gitlab上注册一个账号,并填写下面表格申请成为开发者。

表格链接:

http://ideapark.mikecrm.com/5MSrW8M

11 使用什么平台进行代码托管?

我们使用Gitlab平台进行代码管理,之所以使用Gitlab而不是Github,我们更多的是看中其对代码仓库更多的控制功能,便于我们对团队开发流程和进度进行把控。在第一个版本发布后,我们也会将代码镜像到Github。

12 如何贡献代码?

如果你想参与这个项目并且贡献你的代码,我们建议你参照如下约束:

1) 如何下载项目源代码?

2) 如何编译源代码?

3) 该项目如何启动?需要哪些基本配置?

4) 如何提交故障和需求?

5) 如何参与功能特性的设计和开发?

6) 本地修改代码后,如何验证?

7) 如何提交代码?

具体操作可参考下gitlab help

或者使用gitlab做Code Review

原文发布于微信公众号 - SDNLAB(SDNLAB)

原文发表时间:2018-08-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏互扯程序

千万级规模高性能、高并发的网络架构经验分享

现在是资源共享的时代,同样也是知识分享的时代,如果你觉得本文能学到知识,请把知识与别人分享。

2026
来自专栏刘望舒

App开发,怎样又快又稳又清晰

开发者的价值,是通过技术和产品体现的,对于App开发来说,除了实现业务之外,最重要的莫过于开发的速度、质量和可维护性,速度决定你能否支撑公司抢占市场,质量决定你...

1091
来自专栏程序你好

与Java、PHP 、C#相比,为什么Python薪资更高?

4112
来自专栏大数据和云计算技术

实用调度工具Airflow

引言 前面写过一篇文章《端午搬砖:聊聊调度云服务》,主要讲云服务的。如果企业也业务上云,可以优先选用这些服务,减少工作量。 而在传统企业内部,数据集成是基础,更...

8936
来自专栏EAWorld

你适合微服务么:实施微服务的4个先决条件和重点工作

“Mesh App and Service Architecture”作为Gartner2016 十大战略技术趋势中之一,里面大量提到微服务的概念。微服务(Mi...

4196
来自专栏Java学习网

10+年程序员总结的20+条经验教训学习

10+年程序员总结的20+条经验教训学习 开发 1.从小事做起,然后再扩展 无论是创建一个新的系统,还是添加功能到现有的系统中,我总是从一个简单到几乎没有任...

2407
来自专栏跨界架构师

如何一步一步用DDD设计一个电商网站(三)—— 初涉核心域

    结合我们本次系列的第一篇博文中提到的上下文映射图(传送门:如何一步一步用DDD设计一个电商网站(一)—— 先理解核心概念),得知我们这个电商网站的核心域...

2461
来自专栏Java学习网

为什么开源可以提高程序员的编程技能?

为什么开源可以提高程序员的编程技能? 我已经写了很多年的软件。最近我意识到,我越涉及(致力于,结合于等)开源技术,我写出来的代码就更好。这不由地让我疑惑起来:难...

2849
来自专栏云计算D1net

函数云”即将崛起?

工具始终为其用途所塑造。当云计算首次出现时,是一种虚拟化托管的形式,其目标是看起来和裸机服务器一样。 基础架构即服务(IaaS)形成了最早的云服务,它仍然主导公...

3547
来自专栏社区的朋友们

iOS 架构设计之冗余性思考

做客户端开发的同学都知道业务需求千变万化,你永远不知道他未来会变化成什么样子。而作为开发人员也绝对不喜欢需求变更。我们极不情愿跟着这纷繁复杂的变化屁股后面,而疲...

1K1

扫码关注云+社区

领取腾讯云代金券