扩展图表

在某些情况下,您可能希望将自定义模板(例如,要添加的维护 CronJob)与 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 中覆盖子图表的默认值。当您的图表需要针对自定义图表的特定配置时,这非常有用。例如,如果您希望 Airflow 图表使用 KubernetesExecutor 安装,您可以通过将以下部分添加到您的 values.yaml 中来实现

airflow:
  executor: KubernetesExecutor

您可以覆盖任意数量的值。

此条目是否有帮助?