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"}}'

此条目有帮助吗?