Kubernetes 叢集連線

Kubernetes 叢集連線類型啟用透過 SparkKubernetesOperator 任務和 KubernetesPodOperator 任務連線到 Kubernetes 叢集。

驗證 Kubernetes 叢集

有不同的方式可以使用 Airflow 連線到 Kubernetes。

  1. 使用位於機器預設位置 (~/.kube/config) 的 kube_config - 只需將所有欄位留空

  2. 使用 in_cluster config,如果 Airflow 在 Kubernetes 叢集內執行,則從叢集取得組態 - 標記:叢集內組態

  3. 使用來自不同位置的 kube_config - 將路徑插入 Kube config path

  4. 使用來自連線組態的 JSON 格式 kube_config - 將 kube_config 貼到 Kube config (JSON format)

預設連線 ID

預設連線 ID 為 kubernetes_default

設定連線

叢集內組態

使用叢集內組態。

Kube config 路徑

使用 kube config 的自訂路徑。

Kube config (JSON 格式)

Kube config 用於連線到 Kubernetes 客戶端。

命名空間

連線的預設 Kubernetes 命名空間。

叢集上下文

當使用 kube config 時,可以指定要使用的上下文。

停用驗證 SSL

可以選擇性地停用 SSL 憑證驗證。預設情況下,SSL 會進行驗證。

停用 TCP keepalive

TCP keepalive 是一項功能(預設啟用),旨在保持長時間運行的連線處於活動狀態。將此參數設定為 True 以停用此功能。

Xcom sidecar 映像

定義 PodDefaults.SIDECAR_CONTAINER 使用的 image (預設為 "alpine"),以允許私有倉庫以及自訂映像覆寫。

在 env var 中使用 URI 格式儲存連線的範例

AIRFLOW_CONN_KUBERNETES_DEFAULT='kubernetes://?in_cluster=True&kube_config_path=~%2F.kube%2Fconfig&kube_config=kubeconfig+json&namespace=namespace'

以及使用 JSON 格式

AIRFLOW_CONN_KUBERNETES_DEFAULT='{"conn_type": "kubernetes", "extra": {"in_cluster": true, "kube_config_path": "~/.kube/config", "namespace": "my-namespace"}}'

這個條目是否有幫助?