作为一个开源项目,Kubernetes 的发展速度之快着实令人咋舌。伴随着 Kubernetes 1.24 正式发布,Kubernetes 作为容器编排的事实标准,正愈发变得成熟。
它的地位如同 Linux,业界围绕着它构建出了一个庞大的生态体系。无论你是前后端研发、测试、还是运维,在这个“云原生”时代,想要走的更远,Kubernetes 是我们工作中迟早要面对的“坎儿”。
看到 Kubernetes 有如此不可预估的发展前景和商业价值,不少新粉丝、初学者等,迫不及待地跑来问我:Kubernetes “火”了这么久,但现在的工作和“云”毫不沾边,如果现在才开始学,会不会有点晚了?到底值不值呢?
现在我们要面对的已经不是学不学的问题,而是什么时候开始学习、怎么学、学到什么程度的问题。当前正是有抱负的程序员们加强学习的时机,越早掌握 Kubernetes,当机会站在自己面前时,成功的概率就越大。
最近受疫情影响,虽然大环境不是很乐观,但我发现阿里、头条等这些互联网大厂,都在大量招聘 Kubernetes 相关人才,普遍给到 30K/ 月以上,中小型公司也以 20K/ 月起步。
Kubernetes 因为其技术栈的特点,涉及的应用领域广、实现乱、难以深入吃透。自学时网上资料老、旧、乱,甚至是错误。有的初学者甚至在安装方面就被卡住,缺少趁手的实验环境。然而这种事情一般也没有人愿意讲,这就相当于预置了前提,让人望而却步。
这里分享给你一张知识图谱,建议收藏。只要掌握了正确的方法,脑海里有清晰的学习路径图,就可以在学习时有捷径可走,不再有迷茫和困惑👇
此张图出自老朋友「极客时间」,他们最近出了个新专栏——《Kubernetes 入门实战课》
,早在打磨阶段我就参与了调研。最大感触就是——完全按照程序员的学习痛点来设计:
先用虚拟机本地从零开始搭建 Kubernetes 的学习实验环境,为零基础的同学扫除后顾之忧;接着会用最流行的 Docker 来讲解 Kubernetes 的基础技术——容器;老罗还会通过 4 大项目 + 5 讲实战视频,让你彻底吃透 Kubernetes 里的重要概念、高级应用技巧,包括持久化存储、有状态的对象等等。
不得不说作者罗剑锋,是个非常诙谐幽默的程序员,专栏还会讲讲比如 docker-compose、CNCF、API Gateway 等等和 K8s 相关的“花边逸闻”,扩展一些虽然是外围但也很有实际意义的知识,让你在学习中不会过于枯燥而难以坚持,赚到了。
罗剑锋,网名“Chrono”,Kong 高级工程师,Nginx/OpenResty 开源项目贡献者。
作为一个有着近二十年工作经验的“技术老兵”,一直奋斗在开发第一线,从 Windows 到 Linux、从硬件到软件,从单机到集群、云,开发了各种形式的应用,深切体验到了 Kubernetes 的红利,甚至借此实现了升职加薪。
老罗算是极客时间的老朋友了,分别在 2019-2020 两年里开了《透视 HTTP 协议》《C++ 实战笔记》两门课程,一经上线便获得了一致好评。
在新专栏中,罗剑锋深知大家学习 Kubernetes 过程中,高频问题主要集中在实战少、课程版本老旧、领域庞大找不到学习路径、新概念太抽象。比如容器 /Pod/Deployment 不知如何理解,因此结合自己的学习踩坑经验,分享了一堆让你能够精准地理解并吸收的核心概念解读。
现在来考考你:为什么 Pod 是 Kubernetes 的核心对象?
下面这张图你也许在其他资料里见过,它从 Pod 开始,扩展出了 Kubernetes 里的一些重要 API 对象。
不过这张图虽然很经典,参考价值很高,但现在已经不能够全面地描述 Kubernetes 的资源对象了。
受这张图的启发,罗剑锋重新画了一份以 Pod 为中心的 Kubernetes 资源对象关系图。从这两张图中能够看出,所有的 Kubernetes 资源都直接或者间接地依附在 Pod 之上,且须通过 Pod 来实现,所以 Pod 理所当然地成为了 Kubernetes 的核心对象。
具体如何使用命令来创建、删除、查看、调试 Pod,可前往第十二讲 --Pod:如何理解这个 Kubernetes 里最核心的概念?详细学习。
要知道这些图谱等可都是靠实战踩坑、融合多年经验积累出来的,轻易不会外传,这才是最难得可贵的地方。
专业的人做专业的事,除了对罗剑锋的信任,这门课还有几个不得不提的特色。
为了学习 Kubernetes 要先了解 Go 语言,有点“本末倒置”。就好比 Linux 操作系统,是用 C 语言写的,但几乎没有人要求我们在学习 Linux 之前需要事先掌握 C 语言。
可以确定的是:学会了 Kubernetes 的基本概念和用法,再回头去学 Go 语言也完全来得及。
只看不动手,K8s 学不会。我们经常开玩笑说工程师有两种,一种是 search engineer,就是搜索工程师,一种是 research engineer,就是研究工程师。很多工程师遇到问题,Google 一下,如果搜不到答案,就直接开工干了,这样是很难深入理解一个技术的。
K8s 是一个非常复杂的体系,自己动手解决实际问题的时候,你就会理解技术的细节和本质。对 K8s 的认知会上升一个层级。
可贵的是,老罗选择了 2022 年初发布的最新 Kubernetes 1.23.3 版本,讲解概念的同时,还会给出大量的 docker、kubectl 操作命令,看完课程后立即上手演练,用实际操作来强化学习效果。
课程主体以图文为主,视频辅助。比如针对搭建学习实验环境难的问题,会通过视频,手把手带你规避安装时的踩坑点等👇
「虚拟机设置实操」视频截图👆
做为初学者,若一直深“抠”每一个内部细节会容易“钻牛角尖”,因此在学习初期,老罗会带着你将各个抽象概念,由点成线、由线及面,构建属于你的知识全景图。
讲解重点内容时不会机械地罗列 API、命令参数、属性字段(毕竟这些你都可以查阅 Kubernetes 文档)。遇到复杂的知识点时还会配上图片,让你能够精准地理解并吸收知识。
具体干货内容,可以看看目录👇
很认同一种观念说,“一段时间专注做好一件事”。面对技术也一样,不管是 K8s 还是 Go。这一次,我们静下心来,提前做好知识储备,当云原生这片蓝海的海浪向你滚滚而来时,站在浪头成为“弄潮儿”,激流勇进!
点击「阅读原文」,跟着技术大牛一起玩转 Kubernetes !