Kubernetes 集群连接

Kubernetes 集群连接类型允许通过 SparkKubernetesOperator 任务和 KubernetesPodOperator 任务连接到 Kubernetes 集群。

验证到 Kubernetes 集群

可以使用多种方法使用 Airflow 连接到 Kubernetes。

  1. 使用位于机器上默认位置 (~/.kube/config) 的 kube_config - 只需将所有字段留空

  2. 使用集群内配置,如果 Airflow 在 Kubernetes 集群内运行,则从集群中获取配置 - 标记:集群内配置

  3. 使用来自不同位置的 kube_config - 将路径插入 Kube 配置 路径

  4. 使用连接配置中 JSON 格式的 kube_config - 将 kube_config 粘贴到 Kube 配置 (JSON 格式)

默认连接 ID

默认连接 ID 为 kubernetes_default

配置连接

集群内配置

使用集群内配置。

Kube 配置路径

使用 kube 配置的自定义路径。

Kube 配置 (JSON 格式)

Kube 配置 用于连接到 Kubernetes 客户端。

命名空间

连接的默认 Kubernetes 命名空间。

集群上下文

使用 kube 配置时,可以指定要使用的上下文。

禁用验证 SSL

可以选择禁用 SSL 证书验证。默认情况下,会验证 SSL。

禁用 TCP keepalive

TCP keepalive 是一项功能(默认启用),它会尝试保持长时间运行的连接处于活动状态。将此参数设置为 True 可禁用此功能。

Xcom 辅助容器镜像

定义 PodDefaults.SIDECAR_CONTAINER 使用的 镜像(默认为 "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"}}'

此条目有帮助吗?