1. 春招伊始
马上要春招了,一个大气的项目(冲击波项目)直观重要,虽然大家都说基础很重要,但是一个足够新颖的项目完全可以把你的简历添加一个足够闪亮的点。
这就不得不推荐下我的 k8s 图床了,去年折腾快半年的时间写的,即使根本没有投入使用(dog);总结起来就是一个 图床+k8s控制台揉为一体的项目,虽然项目结构或者技术栈十分蹩脚,但是反复的各种调试,和 debug 可以让学习能力提升一个层次。
2. 项目简解
2.1. 文件嵌套的文件结构

类似网盘的实现结构,勉强可以蹭上 《百度网盘》等大型网盘项目的名头
2.1. 适配 Picgo
适配主流的图床 picgo,可以让这个项目跨平台使用,接入标准化,虽然在一次面试中被指出 token 安全问题(dog),不过项目以学习为主,喜欢折腾的可以自己优化。
2.3. 丑陋的 echart 图标
我去年的时候对前端一窍不通,对于网上的 ui 进行拙劣的模仿,比猫画虎抄了很多图表,但是换了屏幕后适配性不好,不过可以吹大量使用 echart
2.4.适配容器进行时


这里是核心的核心,也就是这个项目最关键的地方,集群! 从简单来讲就是适配了 k8s 的 api。
不过这里又有三个亮点:
-
metries server 对于 pod 的管理:
这里的指标为手动采集,放到 redis zset 里进行建表和取出绘图
-
日志的分级实现
自动写入到 mysql,分 info,warn,error,debug 四挡去写,可以过滤,理论上说 es 可能是更好的标准,不过这里不做更多的讨论 -
内部的同步和天然容灾
这里只是想手动实现一个内部同步的机制,内部的存储会每个 pod 都会存一份,做到备份容灾的效果,不过理论来说还是通过分布式储存这些标准的实现更好。
3. 结语:
最后,这里宣传下我的项目
有需要交流的朋友可以在本帖下,后者 github 上进行交流或者反馈!