找准Kubernetes与容器技术学习方法
极客时间编辑部
讲述:杜力大小:4.21M时长:03:04
在学习一门综合性技术时,不应该着急看源码,理清自己的定位才是最重要的。
如果是纯粹的开发人员,无论是前端、后端,还是应用、游戏开发,首先应该明白两个道理:
首先,Kubernetes 和容器技术主要解决的是代码编写完成后的事情,这不单单是发布或者 CI/CD,而是从执行完 git commit 和 git push 之后开始,都应该进入容器化管理流程,当然包括后续发布、运维、升级、回滚等阶段。
其次,Kubernetes 体系的核心是为开发者提供编写代码过程中的微服务编程范式。
作为开发人员,最应该关注的是 Kubernetes API 对象的细节、容器设计模式以及 Kubernetes API 编程范式。开发者应该习惯把服务想象成容器,把应用想象成 Pod,把基于容器和 Kubernetes 的设计思想和架构方式融入平常的工程实践中,大量实践这些思想和设计模式,编写各类 CRD 和 Controller,并想办法提高编写自定义 Controller 项目的性能和服务能力。
此外,开发者可以尝试扮演公司或者组织中推广微服务和云原生体系的倡导者,热心帮助团队成员共同学习 Kubernetes 的设计思想和 API,全力帮助 Istio 或者 Knative 这样的 Service Mesh 和 PaaS 平台在组织中落地。
如果是专注服务器端的编程人员,或者运维工程师,更应该关注的是 Kubernetes 项目背后的实现原理。
此外,Kubernetes 项目的各个可扩展性接口,也是需要重点关注和理解的对象,比如 CNI 和网络插件的工作方式、CSI 和存储插件的设计、Kubernetes Volume 管理的完整流程,以及 CRI 设计和各种 container runtime 的异同。
从这个角度来说,Kubernetes 项目就是当前云计算平台层开源项目的事实标准,熟悉其思想、架构、实现细节甚至核心组件源码,不仅是学习这项技术的必经之路,也是传统后端技术人员向云端转型的最佳途径。
作为学生或者刚入行的初学者,建议关注项目和平台背后更深层的基础和底盘部分,了解操作系统和硬件的实际工作方式,甚至根据需要重新实现或绕过某些部分,这是进行系统性能优化的关键。理解“所有系统都是分布式系统”的这句话的意思,了解分布式系统设计思想,这也是 Kubernetes 分布式项目构建的基础。
一旦明确定位,抓到精髓和主线,接下来的学习过程其实就是“无招胜有招”,可以随心所欲地按照实际项目、所关心的领域逐步展开,完全不必拘泥于某种特定套路。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论