作者:Marcin Maciaszczyk,Kubermatic 和 Sebastian Florek,Kubermatic
2020 年 10 月,Kubernetes Dashboard[1]正式迎来了 5 岁生日。作为主要的项目维护者,我们很难相信从第一次提交到项目已经过去了这么久。然而,带着怀旧的心情回顾过去,我们意识到自那以后发生了很多事情。现在是时候用简短的回顾来庆祝我们的宝贝了。
Kubernetes Dashboard 项目的最初想法是为 Kubernetes 提供一个 web 界面。我们希望通过直观的 web UI 来反映 kubectl 的功能。使用 UI 的主要好处是,能够快速看到不按预期工作的情况(监视和故障排除)。此外,对于 Kubernetes 生态系统的新手来说,Kubernetes Dashboard 是一个很好的起点。
对 Kubernetes Dashboard 的第一次提交是由 Filip Grządkowski 在 2015 年 10 月 16 日从谷歌提交的,离 Kubernetes 仓库刚刚创建几个月。我们最初的提交要追溯到 2015 年 11 月(Sebastian 于 2015 年 11 月 16 日提交;Marcin 于 2015 年 11 月 23 日提交)。从那时起,我们就成了这个项目的定期贡献者。在接下来的两年里,我们与谷歌人密切合作,最终成为主要项目维护者。
正如你所看到的,项目最初的外观和感觉与当前的完全不同。我们已经多次修改了设计。代码本身也发生了同样的情况。
在 2018 年初,当 AngularJS 接近它生命的终点时,Angular 的新版本却经常发布。我们使用的许多库和模块都是遵循这一趋势的。这迫使我们花费大量时间重写项目的前端部分,使其与更新的技术兼容。
这种迁移带来了许多好处,比如能够重构大量代码、引入设计模式、减少代码复杂性以及从新模块中获益。然而,你可以想象迁移的规模是巨大的。幸运的是,来自社区的一些贡献帮助我们提供了资源支持、新的 Kubernetes 版本支持、i18n 等等。经过许多漫长的日日夜夜,我们终于在 2019 年 7 月发布了第一个测试版,随后在 2020 年 4 月发布了 2.0 版本——我们的宝宝长大了。
由于资源有限,不幸的是,我们不能为许多不同的 Kubernetes 版本提供广泛的支持。因此,我们决定在 Kubernetes Dashboard 发布时一直尝试并支持最新的 Kubernetes 版本。最新版本 Dashboard v2.2.0 提供了对 Kubernetes v1.20 的支持。
除此之外,我们还投入了大量精力来改善资源支持。同时,我们也为 Kubernetes 的大部分资源提供支持。此外,Kubernetes Dashboard 支持多种语言:英语、德语、法语、日语、韩语、中文(繁体、简体、繁体香港)。波斯语和俄语本地化目前正在进行中。此外,我们正在努力支持第三方主题和应用程序的总体设计。如你所见,很多事情正在发生。
幸运的是,我们确实有一些具有领域知识的定期贡献者,他们负责这个项目,更新 Helm chart、翻译、Go 模块等等。但一如既往,可以有更多人手。所以,如果你想为 Kubernetes 做贡献,请记住找我们 ;)
Kubernetes Dashboard 已经发展和繁荣超过 5 年了。它为社区提供了直观的 Web UI,从而降低了 Kubernetes 的复杂性,并增加了对新社区成员的可访问性。到目前为止,我们为这个项目所取得的成就感到骄傲,但这还不是最后的结果。这些是我们未来的优先事项:
如前所述,我们目前正在寻找更多的人来帮助我们进一步开发和发展这个项目。我们对多个领域的贡献是开放的,例如,有“help wanted”标签的问题。请随时通过 GitHub 或 Kubernetes Slack[2] 中的#sig-ui 频道联系我们。
[1]
Kubernetes Dashboard: https://github.com/kubernetes/dashboard
[2]
Kubernetes Slack: https://slack.k8s.io/