選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
 
 
 
 
teddy b8533d59dc first commit 4ヶ月前
infra first commit 4ヶ月前
.gitignore add .gitignore 5ヶ月前
01-airflow功能介紹.md first commit 4ヶ月前
02-k8s-airflow-HA基礎架構說明.md first commit 4ヶ月前
03-airflow-on-k8s-deploy-evaluate.md first commit 4ヶ月前
QUICK_COMMANDS.md first commit 4ヶ月前
README.md first commit 4ヶ月前
TEST_ENV_HOSTS.md first commit 4ヶ月前

README.md

k8s Airflow HA 部署指南

本專案提供了一套基礎的高可用 (HA) Apache Airflow on k8s 部署方案。以下文件按建議閱讀與建置順序排列,請依序參考執行。

1. 架構與概念 (Architecture & Concepts)

建立對整體架構的認識:

  1. Airflow 功能介紹
    • 了解 Airflow 的核心功能、元件 (DAG, Operator, Task) 與應用場景。
  2. K8s Airflow HA 基礎架構說明
    • 詳述本專案採用的多層級 HA 架構 (Ingress, K8s Control Plane, Airflow Components, Database)。
  3. Airflow on K8s 部署評估
    • 探討不同的部署策略,以及為何選擇將 Metadata DB 部署於 Bare Metal 而非 K8s 內部的考量。

2. 基礎設施建置 (Infrastructure Setup)

在部署 Airflow 之前,必須先準備好底層的運算與儲存資源:

  1. 高可用負載平衡 (Load Balancer)

    • Keepalived & HAProxy 安裝指南: 建議最先建置。提供 VIP (10.10.0.83) 與負載平衡,統一管理 K8s API, DB, Web UI, Doris, RabbitMQ 的流量入口。
  2. Kubernetes 叢集建置

  3. 儲存系統 (Storage)

    • NFS 安裝指南: 建立 NFS Server 並配置 K8s NFS CSI Driver,供 Airflow DAGs/Logs 與 RabbitMQ 使用。

3. 外部服務建置 (External Services)

Airflow 的核心元件依賴於外部資料庫與訊息佇列:

  1. Metadata Database

  2. Message Broker

    • RabbitMQ 安裝指南: 在 K8s 上部署 RabbitMQ Cluster,作為 CeleryExecutor 的訊息中間件。
  3. Container Registry


4. Airflow 部署 (Airflow Deployment)

當上述依賴服務皆準備就緒後,即可進行 Airflow 的安裝:

  • Airflow on K8s HA 安裝指南
    • 核心文件。整合了上述所有資源,說明如何:
      • 建立 Airflow 專用的 Namespace 與 Secrets。
      • 建立並綁定固定的 PV/PVC (DAGs/Logs)。
      • 使用 Helm Chart (配置 CeleryExecutor) 部署 Airflow。
      • 驗證服務運作與 Web UI 存取。