【翻译】16名CNCF实习生从2021年谷歌夏季代码(GSoC)毕业

CNCF宣布16名实习生成功完成了谷歌代码之夏项目。实习生们为Buildpacks、Envoy、Kubernetes等多个项目贡献了代码,涉及自动化测试、文档编写、性能优化等方面。

在第五年参与谷歌代码之夏(GSoC)的过程中,CNCF很高兴地宣布有16名实习生在与基金会的项目合作后从该项目毕业。今年的实习生为毕业项目、孵化项目和沙盒项目做出了贡献,包括Buildpacks、Envoy、Kubernetes、Thanos和TiKV。

GSoC是CNCF参与的几个项目之一,帮助世界各地的学生参与到开源项目中。自创建以来,GSoC已经有来自111个国家的16000多名学生帮助超过715个开源组织编写了超过3800万行的代码

"CNCF很自豪能够成为有机会通过GSoC接待实习生的众多组织之一。许多通过GSoC这样的组织开始与我们合作的实习生已经成为我们社区重要的、有价值的贡献者。祝贺这一轮成功的实习生"。- Ihor Dvoretskyi,云原生计算基金会(CNCF)开发者倡导者

构建包

自动Buildpack注册表动作更新(代码提交)

Mritunjay Sharma

学员。Mritunjay Sharma

导师。乔-库特纳

Buildpacks是可插拔的工具,可用于将源代码转化为符合OCI标准的图像(Docker图像),可以在任何云上运行。它是云原生计算基金会的一个孵化项目,与Dockerfiles相比,它提供了一个更高层次的抽象,解耦了整个操作开销,并使应用程序的生产准备过程自动化。目前,我们还没有机制来通知Buildpack注册表索引和Buildpack注册表命名空间仓库是否更新了最新的Github Actions版本。通过这个项目,我们的目标是自动完成自动拉动请求到暂存索引--每当github-action repo的新版本发布时,通过自动进行新行动版本的暂存测试。

构建包

Buildpacks生命周期 准备阶段(代码提交)

Halil Ibrahim Ceylan

学员。Halil İbrahim Ceylan

导师:narellano, Joe Kutner

Buildpacks是一种框架,用于为你的应用程序准备容器环境。生命周期是一种特定的工作负载,需要按顺序逐一运行。生命周期准备阶段应该使平台实施者更容易实现与Pack的功能相匹配。今天,像project.toml这样的功能只被Pack支持,新的平台需要编写它自己的解析器。我的目标是创建新的生命周期阶段,相关的二进制文件应该提供给平台实施者,并且应该由Pack执行。

Buildpacks (代码提交)

学员。Faith Ates

导师。J Romero

云原生Buildpacks的主要功能是将源代码变成可运行的镜像,正因为如此,它很自然地被用于常见的CI/CD平台管道中。这个项目允许你创建一个管道插件,使用户更容易在Jenkins中使用Cloud Native Buildpacks。

Envoy

Envoy数据平面的自适应负载控制和分布式负载测试(代码提交)

学员。Dhruv P

导师。Lee Calcote

用户在配置基于Envoy的数据平面时,不知道如何根据工作负载的弹性和性能要求找到最佳的Envoy配置。Nighthawk是Envoy的负载生成器,支持自适应的负载控制和水平分布式的自我扩展。利用分布式负载测试和创建一套自适应负载控制器,Envoy用户可以通过可重复的工具来自动识别最佳Envoy数据平面配置。

In-Toto

开发in-toto-rs(Rust),与rebuilderd集成(代码提交

Qijia "Joy" Liu

学员。刘启佳(Qijia "Joy" Liu

导师。Aditya Sirish和Santiago Torres Arias

rebuilderd是一个二进制包的验证系统。它在相同的环境中重复一个软件包的构建过程,并验证该软件包是否相同。它是Reproducible Builds工作的一部分,目前可用于重建Arch Linux软件包。重建时必须选择生成可用于验证整个过程的in-toto link attestations。为此,必须开发新生的in-toto-rs库以实现与rebuilderd的整合。

Kubernetes

改善多个云提供商上的cert-manager的可用性(代码提交

Arsh Sharma

学员。Arsh Sharma

导师:jakexks

cert-manager是一个Kubernetes插件,被广泛用于自动管理和签发来自不同发行人的证书。

该项目旨在通过改进e2e测试,抓住用户在不同云上的Kubernetes管理方案上部署cert-manager时经常遇到的问题。

Kubernetes

使安装和验证cert-manager的安装变得简单(代码提交)

Tim Ramlot

学员。Tim Ramlot

导师。理查德-沃尔

cert-manager可以用Helm或普通的Kubernetes清单来安装,但当使用普通清单时,很难定制部署。kubectl cert-manager安装命令将使非Helm用户更容易定制cert-manager的配置,它将提供一种方法,从命令行看到cert-manager部署的所有配置选项(即通过运行kubectl cert-manager install -help)。它将提供一个等待和验证部署的选项,也许是通过整合cert-manager-verifier的代码。而且它可能成为未来kubectl cert-manager升级命令的基础,这将帮助用户在cert-manager版本之间安全升级和降级。

Kubernetes

基于网络的调度器行为模拟器(代码提交

学员。Kensei Nakada

导师。Adhityaa Chandrasekar

在真实的Kubernetes中,如果不阅读日志,我们无法详细了解调度的结果,这通常需要对控制平面有特权访问。因此,我们为kube-scheduler开发了一个模拟器--你可以看到每个插件的结果。

通过kube-scheduler模拟器,你可以创建资源,看到一个新的pod的去向。而且,你可以详细检查调度是如何进行的。

它可以用来学习Kubernetes调度器或检查插件的详细行为,等等。

KubeVela

按指定版本将Crossplane/OAM-Runtime与KubeVela合并(代码提交

学员。Yeshuai Cui

导师。孙建波

开放应用模型[OAM]是一个运行时无关的规范,用于定义云原生应用,并在默认情况下实现构建以应用为中心的平台。KubeVela是一个现代应用引擎,它适应你的应用程序的需求,而不是相反。KubeVela现在是OAM的一个标准实现。该项目是将OAM k8s运行时合并到其中,并在程序启动选项上有所作为。最终的目标是通过完成这个项目,用户能够选择他们想要安装的任何版本。

Litmus代码

认证模块重构和OAuth实现(代码提交)

学员。赫曼特-克里希纳

导师。Raj Babu Das

litmus门户的认证服务器(位于主ltmus仓库的ltmus-portal文件夹中)是用golang编写的,使用了某些过时的依赖(如mgo),目前不支持第三方OAuth认证模块,如。

  • 谷歌认证
  • GitHub认证
  • 本地认证

目前实现的认证服务器也比litmus门户的GraphQL服务器消耗更多资源。

本提案将着重于重写littus-portal的认证模块,使其达到以下效果。

  • 认证模块是独立的(可以转移到一个单独的资源库)。
  • 该模块是轻量级的,并利用积极维护的依赖关系(如果有的话)。
  • 认证服务器是强大和灵活的,可以满足未来任何功能的增加。
  • 认证服务器支持OAuth认证,如Google Auth和GitHub Auth。

中轴线

对多集群操作的SMI支持(提交代码)

Piyush Singariya

学员。Piyush Singariya

导师。Navendu Niranjan P和Lee Calcote

目前,SMI并不提供在多个Kubernetes集群上的连接。一个服务网格的用户拥有一个以上的集群,这已经变得很普遍。

如果服务网状结构能够与相关的功能相连接,如可观察性、控制和安全性等,即使它们在不同的组织下被管理,又会怎样呢。

这个项目的重点是提供发现不同服务网状结构的流量并对其进行认证的能力,其中每个网状结构都在一个不同的、不受信任的管理域中,每个网状结构可以是相同的或来自不同的供应商,可以有相同或不同的控制和数据平面实现,是单集群或多集群,并可以为其客户提供相同或不同的功能。

扩展多集群能力主要取决于两个核心功能,这两个功能需要提供发现不同服务网格之间的流量并对其进行认证的能力。

  1. 服务目录联盟
  2. 身份联盟

OpenEBS

更新区块设备的挂载点和容量,而无需重新启动NDM(代码提交

学员。Z0marlin

导师: akhilerm

节点磁盘管理器(NDM)守护程序在Kubernetes集群的每个节点上运行,发现并监控连接到节点的各种存储设备。它将这些设备导出为Kubernetes集群上的BlockDevice(BD)自定义资源,然后由其他OpenEBS堆栈组件使用。NDM目前支持对连接到节点的各种存储设备的检测。然而,它不能检测到在连接到节点时可能发生在块设备上的具体变化。具体来说,NDM不能检测与设备相关的挂载点和文件系统的变化。它也不能检测到块设备容量的变化。

一个区块设备的挂载点很容易在系统上被改变。改变云上的磁盘大小也很容易。这在使用OpenEBS的Kubernetes集群中造成了问题,因为设备属性的变化不会立即反映在BD资源中。

本提案旨在通过在NDM中添加功能来解决上述问题,以检测支持的块设备的挂载点和容量的变化,并立即将其传播到相应的BD资源中。

萨诺斯

在Thanos中提供自动的、精细的TLS客户端支持(代码提交)

Naman Lakhwani

学员。Naman Lakhwani

导师。Kemal Akkoyun, Bartlomiej Plotka

Thanos Querier组件支持内部gRPC通信的基本TLS配置。这对于基本的使用情况来说是很好的,但它仍然需要额外的前向代理来使其适用于更大的部署。它也很难自动旋转证书和配置安全的mTLS。这个项目旨在消除这些简化,为所有Thanos度量衡API提供更好的TLS故事。

Thanos

项目文档和网站的智能自动化(代码提交)

Saswata Mukherjee

学员。Saswata Mukherjee

导师。Bartlomiej Plotka

该项目旨在建立和实现mdox,一个文档自动化CLI工具,它可以通过验证远程和本地链接,使用GitHub Flavored Markdown指南格式化markdown,以及生成代码来保持项目文档的完全更新,从而使维护高质量文档的行为更加容易,并确保这些文档可以从GitHub和网站上阅读。

TiKV

高性能的数据导入工具(代码提交)

学员。陈炳昌

导师。Andy Lok和kennytm

Lightning是一个用于将大量数据导入TiDB的工具。除了准备和提高性能的逻辑外,闪电的主要逻辑可以分为两部分。

根据不同的后端,通过不同的编码器将SQL文件翻译成KV数据。

将KV数据导入到TiKV集群。

这两个步骤是在逻辑层。然而,在实现层,这两个步骤是耦合的。因此,当支持像HBase这样的KV数据库时,闪电仍然需要先将类似KV的数据转换成SQL,然后再将SQL翻译成类似KV的数据。

我将尝试通过增强本地后台的能力,重构导入表的逻辑等来实现这一功能。

TiKV

TLA+规范的异步提交(代码提交)

学员。何卓然

导师。Andy Lok和秦子谦

这个项目的目标是为TiKV新的 "Async Commit "事务模型提供一个使用TLA+的形式化验证,这给我们带来了更多关于性能改进的信心。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值