Kubernetes 集群连接¶
Kubernetes 集群连接类型允许通过 SparkKubernetesOperator
任务和 KubernetesPodOperator
任务连接到 Kubernetes 集群。
验证到 Kubernetes 集群¶
可以使用多种方法使用 Airflow 连接到 Kubernetes。
使用位于机器上默认位置 (~/.kube/config) 的 kube_config - 只需将所有字段留空
使用集群内配置,如果 Airflow 在 Kubernetes 集群内运行,则从集群中获取配置 - 标记:集群内配置
使用来自不同位置的 kube_config - 将路径插入
Kube 配置 路径
使用连接配置中 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"}}'