概览
在本课中,我们简要讨论本章的目标。
从哪里开始?
我认为理论部分已经足够了。从现在起,我们将进入实践环节。
那么,我们该从哪里开始?我们的第一个混沌实验集会是什么?
一开始我不想给你太大压力,所以我们会从简单的开始,随着进度逐步增加复杂度。
我们将探索的最简单的事情,就是如何终止应用程序的实例。我们将学习如何删除、移除和杀死应用程序的实例。这将为我们带来许多收获。首先,它能让我们建立起对混沌实验工作原理的扎实理解,以及一些潜在的副作用。希望这能让你认识到伸缩性、容错能力、高可用性等的重要性,以及其他一些关键概念。
本章我们将做什么?
首先,我们将创建一个 Kubernetes 集群。毕竟,这是关于在 Kubernetes 中进行混沌工程的。因此,我们需要一个 Kubernetes 集群。正如我之前提到的,你可以使用 Minikube、Docker Desktop、GKE、EKS 或 AKS。稍作调整,其他任何集群也可以使用。
接着,我们将部署一个应用程序。我们需要一个用于演示目的的应用程序。它会是一个简单的应用。目标并不是开发一个复杂的程序,而是部署一个简单的应用,并在此基础上开展实验。
在开始运行混沌实验之前,我们将学习 Kubernetes 的 Chaos Toolkit 插件。借助这个插件,我们可以启动实例终止操作,更准确地说,是终止演示应用的副本(replicas)。
你将学习“稳态假设”的概念,可能还需要对脚本做一些调整。有时可能需要暂停某些操作。在某些情况下,快速推进并非最佳选择。你将学会如何设置条件,如何为假设定义不同的阶段。我们将尝试观察从这些实验中获得的经验,这些经验可能会引导你让自己的应用程序具备容错能力。完成所有这些步骤后,我们还会销毁所创建的一切。
每一章的结尾都会彻底清除所有内容,以便你能够从一个干净的状态开始下一章的学习。这样你可以自由休息——哪怕只是一个小时、一整天,甚至一周。无论如何,都不建议在休息期间让集群持续运行,否则只会产生不必要的成本。
听起来怎么样?
那我们就开始吧。来创建我们的 Kubernetes 集群。
在接下来的课程中,我们会提供一个包含本章所有命令的代码片段。