我的云原生学习方法 | 社区征文
1.前言
容器、K8S、云原生等名词很多人都耳熟能详,甚至很早就有过接触,拿我个人来讲,从 2016 年开始在公司内小范围使用 Docker 到 2018 年公司业务尝试使用 K8S,再到后来公司大部分业务迁入 K8S,在学习云原生相关知识到应用于生产环境这个过程中着实踩了不少坑、走了不少弯路,在此我想将人个学习云原生知识、使用云原生技术的一些浅薄方法和实践陈述出来,希望能帮助对云原生技术有兴趣的同学,快速建立一个初步的概念。
2.云原生和 K8S 的关系
简单来讲,云原生技术是一套在公有云、私有云、混合云等环境中构建、运行应用的方法论。K8S 是云原生体系的基石,但云原生不等于 K8S。由此,我认为云原生的学习,应当以 K8S 为基础和主线,逐步发散扩展。
3.云原生体系中项目纷繁,应该从哪里学起?
在 CNCF官网上,可以看到众多云原生项目,颇有“乱花渐欲迷人眼”的感觉,它们有些正在被 CNCF 孵化、有些则已经毕业并被广泛使用,应该从哪里下手学习?以什么顺序学习?
3.1 点式学习,哪里不会点哪里
在工作中,很多程序、软件很可能已经存在并运行许久了,我们要做的工作是为其安装或编写新的插件,为了快速完成任务,实现所需功能,就需要快速对需要用到的组件进行学习,比如说公司已经在多套 K8S 集群,但是需要用 Calico 替代 Flannel,此时就应该以 Calico 为关键点展开学习。
3.2 线式学习,从下向上,逐步扩展
在不急迫或完成急迫工作之余,推荐以线式方法来学习云原生技术,我认为的步骤如下图:
在刚开始接处云原生的很长一段时间里,我都是以点式方法进行学习,基本上就是搞定如何搭建 K8S,然后在上面布署应用程序,对其进行监控、收集程序日志,遇到问题就 Google,随着时间的推移我产生了一种感觉,自己好像什么都会,但好像又什么也不会,总是心里发虚,有强烈的不安全感,所以我对此进行了反思,我把学习新技术分成三个层次,我当时所处的是第一层最基础的层次。
第一层:熟悉某技术,可以安装使用,有问题能通过网络查找方案。
第二层:熟练掌握某技术,熟悉其各组件间工作原理并能依据此解决相关问题。
第三层:熟练掌握某技术及其实现语言,可以为其扩展功能,可以从源码层面分析解决问题。
在遇到线上问题时,心里发虚,没有头绪,我感觉归根结底是对技术研究不深入,基础不扎实。所以我想在学习之初就可以从语言层面开始、从底层基础开始,踏实不浮躁,不追求新名词。
4.如何高效学习云原生知识?
古人说学习的要点是:读万卷书+名师指路+学以致用,在互联网极度发达的今天,这两点都不再是问题,名师和名师写的书就在我们身边,但是缺点也随之而来,网上的课程和资源质量良莠不齐、知识碎片化严重,看了质量不高的课程,轻则浪费时间,重则误入歧途,过多的摄入碎片化知识,则容易让人产生这东西我好像很熟,但是具体细节我又不懂的尴尬境地。
4.1 到靠谱的平台学靠谱的知识
之前读过左耳朵耗子老师的一篇博文,写的是他在极客时间写专栏的故事,有兴趣的同学可以看看:关于我”极客时间“的专栏 ,对于付费专栏课程这种模式,我的态度从坚决不买,到控制住自己不要再买了,充分验证了真香定理,当然好与不好不要光听别人说,要自己体会。
4.2 把所学知识在生产环境用起来
其实严格来讲,是把生产环境需要的技术用起来,生产环境需要严谨,拿安装操作系统来讲,不需要安装的软件就不要装,装多了都是风险,会影响稳定性。如果所学知识正好能应用于生产环境,解决生产环境的问题,那么这就是学以致用,体会才能更深刻。举个例子,很久以前公司还没用 K8S,那时用研究这个的主要是 BAT 等大厂,一同事感觉这个东西好,就自信满满的直接用在了新项目上,后来发现都是问题,根本 HOLD 不住,导致后面很长一段时间,大家都谈 K 色变,这里的启发是或许稳定的才是最好的,新的东西要用,必定要经过认真的预研和测试。
4.3 乐于分享,严格要求自己
巩固知识最好的办法是输出,学习知识可以有差不多的心理,但是想把一个东西给别人讲清楚,越马虎不得,如果不是做到真正了然于胸,等上了讲台被别人问倒就有点难堪了。所以为了避免分享时被“挂”在讲台上,就不得不倒逼自己进行深度学习了。
5.总结
其实在学习云原生技术的过程中,还有不少用到了 C 语言的地方,比如说容器中进程的关闭问题,这就涉及到 Linux 操作系统的信号问题,有时需要查看 Linux 源代码来获得准确的答案,但是我并没有把 C 语言写入学习线路图里,所有事情都是说起来容易做起来难,我不想说的天花乱坠高大上,也不想把边边角角的东西像流水帐一样列出来,让人一看就想放弃。学习一套技术体系就像我们看其它书一样,看一本好书,看经典基础的书,书又会带我们找到有价值的新书,从基础学起,让你的云原生知道体系逐渐开枝散叶。
版权声明: 本文为 InfoQ 作者【大菠萝】的原创文章。
原文链接:【http://xie.infoq.cn/article/d6705f00dd06bdd7ef6deb185】。文章转载请联系作者。
评论