教程:构建 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 到目前为止为我们生成了什么…