擴充 Chart

在某些情況下,您會希望將您的自訂範本 (例如您想要新增的維護 CronJobs) 與 Airflow chart 安裝一起部署。然而,有時這些範本與 Airflow chart 沒有直接關聯,因此不應將其新增到 chart 中。

相反地,您可以輕鬆擴充 chart,並使用您的自訂範本建立一個依賴於 Airflow chart 的自訂 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 作為依賴項 (通常稱為 subcharts) 新增到您的 chart,請將以下行新增到您的 Chart.yaml 檔案中

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

注意

請確保您已透過執行以下命令在本機新增了 Airflow repo:helm repo add apache-airflow https://airflow.dev.org.tw

提示

您也可以使用 repo 的名稱來取代 URL,方法是將 https://airflow.dev.org.tw 替換為 "@apache-airflow"

將 Airflow chart 新增為依賴項意味著它將與您的自訂 chart 一起部署。您可以透過將 condition 欄位新增到 dependencies 區段來停用 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 新增到您的 chart 時,您可以覆寫您 values.yaml 中子 chart 的預設值。當您的 chart 需要針對您的自訂 chart 的特定組態時,這非常有用。例如,如果您希望 Airflow chart 安裝時使用 KubernetesExecutor,您可以透過將以下區段新增到您的 values.yaml 來完成

airflow:
  executor: KubernetesExecutor

您可以依需求覆寫任意數量的值。

這個條目有幫助嗎?