云计算与数据中心

如何学习 Kubernetes,而不是试图一次性理解整个生态系统

Joep Piscaer 建议通过理解五个支柱来构建 Kubernetes 的初步心智模型:期望状态与调谐、将控制平面与工作节点分离、网络层、requests 与 limits,以及 CNI 和 CSI 插件的作用。核心观点是,在实际需要出现之前,先推迟学习高级主题。

2026-08-25
2 分钟阅读
12 浏览量
فريق تحرير certi.news
如何学习 Kubernetes,而不是试图一次性理解整个生态系统

刚开始学习 Kubernetes 的人,不需要在第一周就试图理解平台的所有组件及其选项。这是来自 Portainer.io 的 Joep Piscaer 提出的结论。他结合自己此前担任 VMware 架构师的经历,以及对开发人员和 IT 员工在转向基于容器的环境时都会遇到同一问题的观察,提出了这样的问题:学习究竟应该从哪里开始?

作者认为,常见的学习路径并不总能提供合适的起点。Kubernetes 文档十分广泛,付费课程可能只是重新展示同一批文档,而认证学习路径可能很快深入细节,或者提供很长的资源清单,却没有帮助学习者建立对基础概念的连贯理解。因此,他建议先从所谓的“思维脚手架”入手,也就是一组有限的理念,用来解释平台的行为,然后再进入大量细节。

从期望状态机制开始

第一个概念是期望状态与调谐。在 Kubernetes 中,事情并不只是发出一个运行容器的命令;用户会声明某种状态应当存在,然后平台持续将现实与这一声明进行比较,并修正两者之间的差异。作者指出,自愈、扩展和渐进式发布等功能都属于同一机制,只是期望状态或改变期望状态的方式不同。

这一概念同时具有教学和实践意义。学习者无需将每项功能都当作独立特性来记忆,而是可以把 Kubernetes 的行为看作同一机制的多种应用。作者强调,缺少这种理解,会让平台的其他部分看起来像一长串彼此分离、需要逐一记忆的特性。

理解节点模型的差异

第二个支柱是将控制平面与工作节点分离,并理解节点具有“可替换性”的含义。作者将其与传统 VMware 经验进行比较:在 VMware 中,团队可能会通过修复出现故障的 ESXi 主机、迁移其上的工作负载,或升级主机后再将其恢复服务,来处理该主机的问题。

而在 Kubernetes 中,当一个节点发生故障时,系统并不一定假设必须挽救该节点本身。任何健康节点都可以运行任何工作负载,因此系统的设计目标是绕过受影响的节点并替换它,而不是像保护某一件特定硬件那样保护它。Piscaer 指出,将传统基础设施管理习惯带入这一模型,可能会促使团队保护一个平台原本就设计为在需要时放弃的组件。

确定网络问题所在的层

作者建议通过四个连续层次来研究网络:从容器到 Pod,从 Pod 到服务,从服务到入口(ingress),再从入口到外部世界。

按照这一思路,网络故障排查中的很大一部分混乱,源于团队没有确定问题发生在哪一层。Pod 的 IP 地址确实存在,但会发生变化;服务的 IP 地址则是虚拟且稳定的,而且不一定有进程直接监听该地址。明确检查所在的层次,可能在执行更多诊断命令之前,就消除大量不确定性。

将 requests 和 limits 视为运行边界

来源将资源请求(requests)及其限制(limits)描述为工作负载的生存契约,而不仅仅是指导性数值。调度器使用 request 值来确定运行工作负载的合适位置,而 limit 则代表不应超过的上限。

过度声明资源可能导致容量浪费,而低估资源则可能在节点空间耗尽、时机关键时导致 Pod 被驱逐。作者将这一错误与一种反复出现的差异联系起来:某个工作负载在测试环境中运行正常,却在生产环境中崩溃。他说明,问题可能出在资源描述上,而不是应用程序代码上。

为什么存在 CNI 和 CSI 插件?

第五个支柱是理解为什么网络和存储会交由 CNI 和 CSI 等插件负责,而不是在 Kubernetes 内置一个统一实现。来源解释说,平台负责定义契约,但将实现交给插件,因为边缘环境中小型集群的需求,与受监管的多区域环境的需求存在根本差异。

这解释了工具和选项生态为何如此广泛。网络存在多个选项,并不一定是偶然的混乱,而是选择灵活性、而不是强制所有环境采用单一设计的直接结果。这并不意味着选择插件变得容易;但它能让多种选项处于正确的背景之中。

对学习者而言,实践上有哪些变化?

建议的方法并不会取消 GitOps、监控、服务网络和策略引擎等主题,而是将它们推迟到学习者遇到使这些主题变得有意义的问题之后。理解基本机制、控制平面与节点的结构、网络路径以及资源边界之后,再进入这些主题,就会建立在一个明确的实际问题之上,而不是试图完整覆盖整张“地图”。

这是一种教学解读,并不是获取认证的官方路径,也不能替代专业文档。来源也没有提供设置步骤或运行命令,而是提供了一个用于建立初步理解的框架。在文章结尾,作者提到一个位于 kubeschool.portainer.io 的免费教育资源,并将其描述为供应商中立;该资源与作者所属的机构有关,因此应将其视为来源推荐的资源,而不是这里已验证的独立参考资料。

新闻来源
ف
作者

فريق تحرير certi.news

同一分类

你可能还喜欢

查看所有新闻