Kubernetes 叢集連線¶
Kubernetes 叢集連線類型啟用透過 SparkKubernetesOperator
任務和 KubernetesPodOperator
任務連線到 Kubernetes 叢集。
驗證 Kubernetes 叢集¶
有不同的方式可以使用 Airflow 連線到 Kubernetes。
使用位於機器預設位置 (~/.kube/config) 的 kube_config - 只需將所有欄位留空
使用 in_cluster config,如果 Airflow 在 Kubernetes 叢集內執行,則從叢集取得組態 - 標記:叢集內組態
使用來自不同位置的 kube_config - 將路徑插入
Kube config path
使用來自連線組態的 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"}}'