Logo
Section 1 / 2

简介

本课程介绍了本课程的内容,并列出了 Kubernetes 的四个阶段。

导入

简介

本课程介绍了本课程的内容,并列出了 Kubernetes 的四个阶段。

Kubernetes 简介

Kubernetes 可能是我们所知规模最大的项目。它极其庞大,但许多人认为经过几周或几个月的学习和实践后,就已经掌握了它的全部知识。实际上,它的复杂程度远超想象,并且其发展速度远远超过大多数人的跟进能力。你在 Kubernetes 的采用过程中走到了哪一步?

Screen Shot 2019-11-09 at 9.35.13 PM.png
Screen Shot 2019-11-09 at 9.35.13 PM.png

根据我的经验,Kubernetes 的采用过程通常分为 四个 主要阶段。

第一阶段

在第一阶段,我们创建一个集群,学习 Kubernetes API 的细节以及各种资源类型(例如:Pod、Ingress、Deployment、StatefulSet 等)。当我们熟悉了 Kubernetes 的工作方式后,便开始部署和管理自己的应用程序。到这一阶段结束时,你可以自豪地喊出:“看我,我的生产环境 Kubernetes 集群里已经有应用在运行了,而且一切都没崩!”

第二阶段

第二阶段通常是自动化。当我们对 Kubernetes 的运作方式已经熟练,并且已承载生产负载后,就可以进入自动化阶段。我们通常会引入某种持续交付(CD)或持续部署(CDP)流程。我们创建包含所需工具的 Pod,构建软件并生成容器镜像,运行测试,最后将应用部署到生产环境。完成之后,大部分流程都实现了自动化,我们不再需要手动向 Kubernetes 部署应用。此时,你可以说:“系统正在正常运行,而我甚至没碰过键盘。”

第三阶段

第三阶段通常涉及监控、告警、日志记录和自动伸缩。虽然 Kubernetes 能够运行(几乎)任何应用,并尽力保证其容错性和高可用性,但这并不意味着我们的应用和集群就是坚不可摧的。我们必须对集群进行监控,并设置告警机制,以便及时发现潜在问题。一旦发现问题,我们需要能够查询整个系统的指标和日志数据。只有明确了根本原因,才能真正解决问题。在像 Kubernetes 这样高度动态的分布式系统中,这远比看起来更复杂。

此外,我们还需要掌握如何对所有组件进行伸缩(以及反向缩容)。应用的 Pod 数量应随流量和需求的变化而动态调整。节点数量也应随之扩展,以满足应用的需求。

Kubernetes 本身已经提供了收集指标和查看日志的工具,并支持配置自动伸缩规则。然而,我们可能会发现仅靠 Kubernetes 仍不足以满足需求,可能需要引入额外的流程和工具来增强系统能力。本课程的重点正是这一阶段。当你读完本课程后,你将能够自信地说:“我的集群和应用真正实现了动态自适应,几乎无需人工干预。我们将努力让系统具备自我调节的能力。”

第四阶段

我提到了第四阶段。亲爱的读者,这就是“其他一切”。最后一个阶段主要关注持续跟进 Kubernetes 提供的各种新功能。它包括关注其开发路线图,并不断调整我们的工作流程,以充分利用每一次新版本带来的优势。


下一节课中,我们将介绍本课程的目标受众及学习要求。

目标受众与课程要求