扩展 Chart

在某些情况下,您可能希望将自定义模板(例如,您想要添加的维护 CronJob)与 Airflow chart 安装一起部署。然而,有时这些模板与 Airflow chart 没有直接关系,因此不应添加到 chart 中。

相反,您可以轻松地扩展 chart 并创建一个包含您自定义模板的自定义 chart,该 chart 依赖于 Airflow chart。当您安装自定义 chart 时,Airflow chart 也会被安装。

您可以通过执行以下步骤来扩展官方 Airflow chart。

创建自定义 Chart

首先,您需要创建自己的 chart 目录。您可以通过运行以下命令来完成:

helm create my-custom-chart

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

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

将 Airflow Chart 添加为依赖项

其次,您需要将 Airflow chart 添加为您的 chart 的依赖项。这将使您无需修改 Airflow chart 本身即可添加自定义模板。要将 Airflow chart 添加为您的 chart 的依赖项(通常称为 subcharts),请将以下行添加到您的 Chart.yaml 文件中:

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

注意

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

提示

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

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

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

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

下载 Airflow Chart

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

helm dependency build

注意

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

该 chart 将被下载并保存在 charts/ 目录中。

覆盖默认值

当您将一个 chart 添加为您的 chart 的 subchart 时,您可以在 values.yaml 中覆盖 subchart 的默认值。这对于您的 chart 需要特定配置时非常有用。例如,如果您希望 Airflow chart 使用 KubernetesExecutor 进行安装,您可以通过将以下部分添加到您的 values.yaml 中来实现:

airflow:
  executor: KubernetesExecutor

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

本条目是否有帮助?