跳至主内容

从软件工程新手到LFX导师计划毕业学员

· 1 分钟阅读
Debabrata Panigrahi
LFX Mentee at Chaos Mesh
非官方测试版翻译

本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →

LFX导师计划体验
LFX导师计划体验

作为印度国家理工学院鲁尔克拉分校生物技术与医学工程系的生物医学工程专业本科生,最初只是出于兴趣才开始编程。这段自学之旅充满挑战,但当我开始参与开源贡献时,友好的社区氛围让我遇到了许多热心助人的伙伴,他们帮助我更好地掌握了技术栈。

img1
img1

申请之路

2021年春季,我了解到LFX导师计划。浏览完所有项目列表后,我感到有些忐忑——许多术语对我来说都很陌生,当时甚至觉得这类计划可能不适合我这样的新手。后来我仔细阅读了项目文档常见问题,按照指引申请了几个感兴趣且技术栈匹配的项目,包括熟悉的Docker、AWS和Python等技术方向。

我同时申请了Chaos Mesh的两个项目,并按要求立即提交了简历和求职信。几天后,收到了导师关于补充任务的邮件通知。

img2
img2

完成上述任务后,我将文件上传至GitHub,并将链接分享给了导师。

入选与初期学员经历

备注

2022-10-24:由于 https://www.oreilly.com/online-learning/leveraging-katacoda-technology.html 政策调整,同时参考 #356,交互式教程暂不可用。

我清晰地记得收到导师入选邮件的那天——作为首次参与开源项目的新人,我欣喜若狂。不仅很高兴能成为计划学员,还收到了CNCF发来的正式入选通知。

img3
img3

我和导师确定通过Slack进行日常沟通。当他了解到我对Kubernetes和GOlang掌握有限时,推荐了学习资源并给了我两周时间熟悉。与此同时,他还设计了一些实验任务,帮助我逐步掌握这些技术。

随着对 Kubernetes 的逐渐熟悉,我开始探索 Chaos Mesh 并完成了 interactive tutorial,这让我更清晰地理解了 Chaos Mesh 的使用方式。随后我实现了 hello-world chaos 实验,深入了解了控制器和 CRD(自定义资源定义)——这些 Chaos Mesh 最核心的组件。同时,我也熟悉了样板代码结构、kube-builder 客户端的使用方法,学会了如何利用它们搭建脚手架框架并编写自定义控制器。

在初步实验并熟悉项目后,我开始着手解决一些 good first issues,以此熟悉 Chaos Mesh 的上游贡献流程。

图4
图4

在某个贡献中,我尝试为 stress-chaos 添加多容器支持(此前该功能不可用)。虽然实现成功,但因影响了其他功能而未能合并到即将发布的版本中。更重要的是,在 2.0.0 版本中这项重构已被完成,因此这次贡献对我和导师来说都是宝贵的学习经验。此后我们更加谨慎,在实现新功能前会先提交 RFC 并与社区贡献者充分讨论。

我对 AWS Chaos 的贡献

最初计划仅实现一种 AWS Chaos 类型,但在深入探索时发现了 awsssmchaosrunner。鉴于其功能特性,我们决定将其集成到 Chaos Mesh 中。

方案分为两部分:一部分是整合 awsssmchaosrunner 的 "runner 组件" 项目(使用 Kotlin 编写并构建 Docker 镜像)。

另一部分则是 AWS Chaos 的定义及其控制器(使用 Go 编写)。该控制器将创建搭载 "Kotlin CLI 镜像" 的 Pod 并向 AWS 发送指令。

其他机遇

在项目尾声,我受邀参加 Chaos Mesh 社区会议并展示了项目成果。

随后我申请了 Kubernetes Community Days 班加罗尔站(2021年6月25-26日线上举行)的议题征集,成功入选演讲嘉宾并已完成相关筹备。

毕业与未来计划

太棒了!!历经 12 周,我在导师 周志强 的指导下顺利毕业——没有他的帮助,这一切都不可能实现。

在 Chaos Mesh 社区的这段时光令人难忘,每位成员都给予了我充分的支持与帮助。期待未来能持续为项目贡献力量,更深度参与社区建设。

加入 Chaos Mesh 社区

欢迎通过 CNCF Slack 工作区的 #project-chaos-mesh 频道或项目 GitHub 加入我们,了解更多关于 Chaos Mesh 的信息。