我的云原生学习方法 | 社区征文
1.前言
2.云原生和K8S的关系
3.云原生体系中项目纷繁,应该从哪里学起?
3.1 点式学习,哪里不会点哪里
3.2 线式学习,从下向上,逐步扩展
4.如何高效学习云原生知识?
4.1 到靠谱的平台学靠谱的知识
4.2 把所学知识在生产环境用起来
4.3 乐于分享,严格要求自己
5.总结
评论区

我的云原生学习方法 | 社区征文

社区征文
混合云 veStack
了解详情 
基于云原生的自研混合云平台,与火山引擎公有云采用统一架构,高效智能

1.前言

容器、K8S、云原生等名词很多人都耳熟能详,甚至很早就有过接触,拿我个人来讲,从2016年开始在公司内小范围使用Docker到2018年公司业务尝试使用K8S,再到后来公司大部分业务迁入K8S,在学习云原生相关知识到应用于生产环境这个过程中着实踩了不少坑、走了不少弯路,在此我想将人个学习云原生知识、使用云原生技术的一些浅薄方法和实践陈述出来,希望能帮助对云原生技术有兴趣的同学,快速建立一个初步的概念。

2.云原生和K8S的关系

简单来讲,云原生技术是一套在公有云、私有云、混合云等环境中构建、运行应用的方法论。K8S是云原生体系的基石,但云原生不等于K8S。由此,我认为云原生的学习,应当以K8S为基础和主线,逐步发散扩展。

image.png

3.云原生体系中项目纷繁,应该从哪里学起?

在CNCF官网上,可以看到众多云原生项目,颇有“乱花渐欲迷人眼”的感觉,它们有些正在被CNCF孵化、有些则已经毕业并被广泛使用,应该从哪里下手学习?以什么顺序学习?

3.1 点式学习,哪里不会点哪里

在工作中,很多程序、软件很可能已经存在并运行许久了,我们要做的工作是为其安装或编写新的插件,为了快速完成任务,实现所需功能,就需要快速对需要用到的组件进行学习,比如说公司已经在多套K8S集群,但是需要用Calico替代Flannel,此时就应该以Calico为关键点展开学习。

3.2 线式学习,从下向上,逐步扩展

在不急迫或完成急迫工作之余,推荐以线式方法来学习云原生技术,我认为的步骤如下图:

image.png

在刚开始接处云原生的很长一段时间里,我都是以点式方法进行学习,基本上就是搞定如何搭建K8S,然后在上面布署应用程序,对其进行监控、收集程序日志,遇到问题就Google,随着时间的推移我产生了一种感觉,自己好像什么都会,但好像又什么也不会,总是心里发虚,有强烈的不安全感,所以我对此进行了反思,我把学习新技术分成三个层次,我当时所处的是第一层最基础的层次。

  • 第一层:熟悉某技术,可以安装使用,有问题能通过网络查找方案。
  • 第二层:熟练掌握某技术,熟悉其各组件间工作原理并能依据此解决相关问题。
  • 第三层:熟练掌握某技术及其实现语言,可以为其扩展功能,可以从源码层面分析解决问题。

在遇到线上问题时,心里发虚,没有头绪,我感觉归根结底是对技术研究不深入,基础不扎实。所以我想在学习之初就可以从语言层面开始、从底层基础开始,踏实不浮躁,不追求新名词。

4.如何高效学习云原生知识?

古人说学习的要点是:读万卷书+名师指路+学以致用,在互联网极度发达的今天,这两点都不再是问题,名师和名师写的书就在我们身边,但是缺点也随之而来,网上的课程和资源质量良莠不齐、知识碎片化严重,看了质量不高的课程,轻则浪费时间,重则误入歧途,过多的摄入碎片化知识,则容易让人产生这东西我好像很熟,但是具体细节我又不懂的尴尬境地。

4.1 到靠谱的平台学靠谱的知识

之前读过左耳朵耗子老师的一篇博文,写的是他在极客时间写专栏的故事,有兴趣的同学可以看看:关于我”极客时间“的专栏 ,对于付费专栏课程这种模式,我的态度从坚决不买,到控制住自己不要再买了,充分验证了真香定理,当然好与不好不要光听别人说,要自己体会。

4.2 把所学知识在生产环境用起来

其实严格来讲,是把生产环境需要的技术用起来,生产环境需要严谨,拿安装操作系统来讲,不需要安装的软件就不要装,装多了都是风险,会影响稳定性。如果所学知识正好能应用于生产环境,解决生产环境的问题,那么这就是学以致用,体会才能更深刻。举个例子,很久以前公司还没用K8S,那时用研究这个的主要是BAT等大厂,一同事感觉这个东西好,就自信满满的直接用在了新项目上,后来发现都是问题,根本HOLD不住,导致后面很长一段时间,大家都谈K色变,这里的启发是或许稳定的才是最好的,新的东西要用,必定要经过认真的预研和测试。

4.3 乐于分享,严格要求自己

巩固知识最好的办法是输出,学习知识可以有差不多的心理,但是想把一个东西给别人讲清楚,越马虎不得,如果不是做到真正了然于胸,等上了讲台被别人问倒就有点难堪了。所以为了避免分享时被“挂”在讲台上,就不得不倒逼自己进行深度学习了。

5.总结

其实在学习云原生技术的过程中,还有不少用到了C语言的地方,比如说容器中进程的关闭问题,这就涉及到Linux操作系统的信号问题,有时需要查看Linux源代码来获得准确的答案,但是我并没有把C语言写入学习线路图里,所有事情都是说起来容易做起来难,我不想说的天花乱坠高大上,也不想把边边角角的东西像流水帐一样列出来,让人一看就想放弃。学习一套技术体系就像我们看其它书一样,看一本好书,看经典基础的书,书又会带我们找到有价值的新书,从基础学起,让你的云原生技术体系逐渐开枝散叶。

文章来源:https://xie.infoq.cn/article/d6705f00dd06bdd7ef6deb185

473
7
5
0
关于作者
相关资源
KubeZoo: 轻量级 Kubernetes 多租户方案探索与实践
伴随云原生技术的发展,多个租户共享 Kubernetes 集群资源的业务需求应运而生,社区现有方案各有侧重,但是在海量小租户的场景下仍然存在改进空间。本次分享对现有多租户方案进行了总结和对比,然后提出一种基于协议转换的轻量级 Kubernetes 网关服务:KubeZoo,该方案能够显著降低多租户控制面带来的资源和运维成本,同时提供安全可靠的租户隔离性。
相关产品
混合云 veStack
基于云原生的自研混合云平台,与火山引擎公有云采用统一架构,高效智能
了解详情 
分布式云原生平台
分布式云原生平台是面向多云多集群场景的企业级云原生统一管理平台
了解详情 
业务风险识别
精准识别各类场景黑灰产风险,持续守护业务的健康增长
了解详情 
评论
未登录
看完啦,登录分享一下感受吧~
简单明了的把事说明白了,好文章!
0
    
回复
nice
0
    
回复
大道至简~
0
    
回复
学习了👍
0
    
回复
受教了!
0
    
回复