扩展图表¶
在某些情况下,您需要将自定义模板(例如,要添加的维护 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.yaml
中 airflow.enabled
的值是否为 true
。如果是,则 Airflow 图表将与您的自定义图表一起部署。否则,将仅部署您的模板。
下载 Airflow 图表¶
第三,在您在 Chart.yaml
文件的 dependencies
部分中指定了 Airflow 图表之后,您可以通过运行以下命令下载 Airflow 图表
helm dependency build
注意
确保您位于包含 Chart.yaml
文件的目录中。
图表将被下载并保存在 charts/
目录中。
覆盖默认值¶
当您将图表作为子图表添加到您的图表中时,您可以在 values.yaml
中覆盖子图表的默认值。当您的图表需要为您的自定义图表进行特定配置时,这非常有用。例如,如果您希望使用 KubernetesExecutor
安装 Airflow 图表,则可以通过将以下部分添加到您的 values.yaml
中来完成此操作
airflow:
executor: KubernetesExecutor
您可以根据需要覆盖任意数量的值。