Kubernetes 集群连接

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

认证到 Kubernetes 集群

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

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

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

  3. 使用不同位置的 kube_config - 将路径插入到 Kube config 路径

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

默认连接 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"),以允许私有仓库以及自定义镜像覆盖。

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

此条目是否有帮助?