扩展图表

在某些情况下,您需要将自定义模板(例如,要添加的维护 CronJobs)与 Airflow 图表安装一起部署。但是,有时这些模板与 Airflow 图表没有直接关系,因此不应添加到图表中。

相反,您可以轻松扩展图表,并使用依赖于 Airflow 图表的自定义模板创建自定义图表。当您安装自定义图表时,也会安装 Airflow 图表。

您可以通过以下步骤扩展官方 Airflow 图表。

创建自定义图表

首先,您需要创建自己的图表目录。您可以通过运行以下命令来完成此操作

helm create my-custom-chart

此命令将创建一个名为 my-custom-chart 的目录,其结构如下

my-custom-chart/
├── .helmignore
├── Chart.yaml
├── values.yaml
├── charts/
└── templates/
    └── tests/

添加 Airflow 图表作为依赖项

其次,您需要将 Airflow 图表作为依赖项添加到您的图表中。这将使您能够添加自定义模板,而无需修改 Airflow 图表本身。要将 Airflow 图表作为依赖项(通常称为 子图表)添加到您的图表中,请将以下行添加到您的 Chart.yaml 文件中

dependencies:
  - name: airflow
    version: 1.11.0
    repository: https://airflow.apache.org

注意

确保您已经通过运行以下命令在本地添加了 Airflow 仓库:helm repo add apache-airflow https://airflow.apache.org

提示

您也可以使用仓库名称代替 URL,方法是将 https://airflow.apache.org 替换为 "@apache-airflow"

将 Airflow 图表添加为依赖项意味着它将与您的自定义图表一起部署。您可以通过将 condition 字段添加到 dependencies 部分来禁用 Airflow 的安装。例如

dependencies:
  - name: airflow
    version: 1.11.0
    repository: https://airflow.apache.org
    condition: airflow.enabled

这将检查 values.yamlairflow.enabled 的值是否为 true。如果是,则 Airflow 图表将与您的自定义图表一起部署。否则,将仅部署您的模板。

下载 Airflow 图表

第三,在您在 Chart.yaml 文件的 dependencies 部分中指定了 Airflow 图表之后,您可以通过运行以下命令下载 Airflow 图表

helm dependency build

注意

确保您位于包含 Chart.yaml 文件的目录中。

图表将被下载并保存在 charts/ 目录中。

覆盖默认值

当您将图表作为子图表添加到您的图表中时,您可以在 values.yaml 中覆盖子图表的默认值。当您的图表需要为您的自定义图表进行特定配置时,这非常有用。例如,如果您希望使用 KubernetesExecutor 安装 Airflow 图表,则可以通过将以下部分添加到您的 values.yaml 中来完成此操作

airflow:
  executor: KubernetesExecutor

您可以根据需要覆盖任意数量的值。

此条目有帮助吗?