Web站学K8s:从零开始,我在浏览器里把Kubernetes给学明白了!
说实话,第一次听到“K8s”这个词的时候,我整个人是懵的,什么玩意儿?K八大?后来才知道,哦,是Kubernetes,因为K后面跟着8个字母,所以简称K8s,你说这帮搞技术的,起个名字都这么爱偷懒……

但真正让我头疼的不是名字,而是怎么学它,刚开始我傻乎乎地在自己那台破笔记本上装Minikube,结果光是环境配置就折腾了我整整两天,各种报错,各种依赖问题,差点没把电脑砸了,后来又试了Kind、K3s,每次都是装好了开心五分钟,然后遇到问题又卡住,来回折腾,心态直接崩了。
直到有一天,我一个做运维的朋友跟我说:“你傻啊,现在谁还本地装啊,直接Web站学K8s不香吗?”
我当时就愣住了——Web站?学K8s?这俩能搭上边?
结果一试,真香。
为什么我推荐用Web站学K8s?
你得明白一件事:K8s本身就是一个极其复杂的分布式系统,它的核心概念一大堆——Pod、Service、Deployment、ConfigMap、Namespace、Ingress……光这些名词就够你背一阵子的了,如果你还要花大量时间去搞环境搭建,那学习的热情还没开始就被浇灭了一半。
而Web站学K8s最大的好处就是:开箱即用,零配置。
你打开浏览器,登录进去,一个完整的K8s集群就在那儿等着你了,你可以直接在上面敲kubectl命令,可以创建Pod,可以部署应用,可以搞Service暴露端口……所有操作跟你本地集群一模一样,但省去了安装、配置、排错的所有烦恼。
那种感觉怎么说呢?就像你本来要自己砌砖盖房子才能学装修,现在直接给你一套精装房,你拎包入住就能开始学怎么布置家具了,爽不爽?
我常用的几个Web站学K8s平台
市面上的Web站学K8s平台其实不少,我挨个试过之后,挑几个我觉得好用的说说:
Killercoda
这个是我用得最多的,打开网页,选一个K8s场景,几秒钟就能给你分配一个临时集群,左边是终端,右边是说明文档,跟着做就行,最关键是免费,而且场景特别多,从基础的Pod创建到复杂的NetworkPolicy配置都有,我刚开始学的时候,天天泡在上面,跟打游戏通关似的,一关一关地过,特别有成就感。
Play with Kubernetes
这个是Docker官方出的,用Docker-in-Docker的方式给你起一个集群,速度稍微慢一点,但胜在稳定,我一般用它来做一些需要长时间运行的实验,比如测试HPA自动扩缩容这种。
Katacoda
虽然现在已经停止更新了,但它的很多场景依然能用,界面做得很漂亮,步骤引导也很清晰,可惜了,不然真的是个很好的平台。
Web站学K8s的正确姿势
有了好平台,还得有好的学习方法,我总结了几点,都是血泪教训:
第一,别光看,动手敲。 看十遍不如敲一遍,真的,很多命令你觉得自己记住了,一上手就发现参数写错了、资源名拼错了,Web站学K8s的好处就是你可以随便折腾,搞坏了直接重置集群,几秒钟又是一个崭新的环境,完全没有心理负担。
第二,从Pod开始,别贪多。 我一开始就想学Operator、学Istio,结果基础不牢,学啥啥不懂,后来老老实实从Pod开始,到Deployment、Service、Ingress,一步步来,反而快了很多,就像盖楼一样,地基没打好,上面盖得越高越危险。
第三,善用kubectl explain。 这个命令简直是神技,任何你不懂的字段,直接kubectl explain pod.spec.containers,它会把所有可用的字段和含义都列给你,比查文档快多了。
第四,多看官方文档。 K8s的官方文档写得是真的好,每个概念都有详细的解释和示例,我一般是在Web站上学完一个概念,然后去官方文档里把相关的部分再读一遍,加深理解。
学完Web站,然后呢?
说实话,Web站学K8s能帮你快速入门,但真要深入,还是得在真实环境里摸爬滚打,等你把Web站上的场景都刷得差不多了,就可以考虑在自己电脑上搭一个正式的集群,或者直接用云厂商的托管K8s服务。
但无论如何,Web站学K8s绝对是你入门阶段最高效的方式,没有之一。
我现在回头想想,如果当初我没有发现这个路子,可能到现在还在跟Minikube的安装脚本较劲呢,所以如果你也在学K8s,或者正准备开始学,听我一句劝:别折腾本地环境了,打开浏览器,找个Web站,直接开干!
你会发现,原来K8s也没那么可怕嘛,加油!