教程:构建 CronJob

太多教程开始时使用一些非常生硬的设置,或者是一些简单应用来讲解基础知识,然后在更复杂的内容上停滞不前。相反,本教程将带您几乎体验 Kubebuilder 的全部复杂性,从简单开始,逐渐构建到一个功能齐全的应用。

让我们假装(当然,这有点牵强),我们终于厌倦了 Kubernetes 中非 Kubebuilder 实现的 CronJob 控制器的维护负担,我们想用 Kubebuilder 重新编写它。

CronJob 控制器的工作(并不是双关)是在 Kubernetes 集群中定期运行一次性任务。它是通过在 Job 控制器之上构建来实现这一目标的,Job 控制器的任务是一次性运行任务,并确保其完成。

我们将此作为与外部类型交互的机会,而不是试图重写 Job 控制器。

搭建我们项目的框架

正如在快速入门中所述,我们需要搭建一个新的项目。请确保您已安装 Kubebuilder,然后搭建一个新项目:

# 创建一个项目目录,然后运行初始化命令。
mkdir project
cd project
# 我们将使用域名 tutorial.kubebuilder.io,
# 所有 API 组将为 <group>.tutorial.kubebuilder.io。
kubebuilder init --domain tutorial.kubebuilder.io --repo tutorial.kubebuilder.io/project

现在我们有了一个项目,来看看 Kubebuilder 为我们搭建了哪些内容吧……