Kubernetes 叢集連線

Kubernetes 叢集連線型別可以透過 SparkKubernetesOperator 任務和 KubernetesPodOperator 任務連線到 Kubernetes 叢集。

認證到 Kubernetes 叢集

使用 Airflow 連線到 Kubernetes 有幾種不同的方式。

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

  2. 如果 Airflow 在 Kubernetes 叢集內部執行,則使用 in_cluster 配置,從叢集獲取配置 - 標記:叢集內配置

  3. 使用其他位置的 kube_config - 將路徑插入到 Kube config path

  4. 從連線配置中使用 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"}}'

此條目有幫助嗎?