扩展 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.yaml
中 airflow.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
您可以覆盖任意数量的值。