Kubernetes 叢集連線¶
Kubernetes 叢集連線型別可以透過 SparkKubernetesOperator 任務和 KubernetesPodOperator 任務連線到 Kubernetes 叢集。
認證到 Kubernetes 叢集¶
使用 Airflow 連線到 Kubernetes 有幾種不同的方式。
使用位於機器預設位置 (~/.kube/config) 的 kube_config - 只需留空所有欄位
如果 Airflow 在 Kubernetes 叢集內部執行,則使用 in_cluster 配置,從叢集獲取配置 - 標記:叢集內配置
使用其他位置的 kube_config - 將路徑插入到
Kube config path中從連線配置中使用 JSON 格式的 kube_config - 將 kube_config 貼上到
Kube config (JSON format)中
預設連線 ID¶
預設連線 ID 是 kubernetes_default。
配置連線¶
- 叢集內配置
使用叢集內配置。
- Kube 配置路徑
使用自定義的 kube 配置路徑。
- Kube 配置 (JSON 格式)
用於連線到 Kubernetes 客戶端的 Kube 配置。
- 名稱空間
連線的預設 Kubernetes 名稱空間。
- 叢集上下文
使用 kube 配置時,可以指定要使用的上下文。
- 停用 SSL 驗證
可以選擇停用 SSL 證書驗證。預設情況下會驗證 SSL。
- 停用 TCP keepalive
TCP keepalive 是一項功能(預設啟用),用於嘗試保持長時間連線處於活動狀態。將此引數設定為 True 以停用此功能。
- Xcom sidecar 映象
定義
PodDefaults.SIDECAR_CONTAINER使用的image(預設為"alpine"),以允許使用私有倉庫以及自定義映象覆蓋。
使用 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"}}'