在 Airflow 中使用 KubeExecutor 运行 DAG 时,需要配置 kube_config 文件以连接 Kubernetes 集群。
kube_config 文件包含了 Kubernetes 集群的访问信息,例如集群地址、证书和认证方式等。Airflow 使用此文件来与 Kubernetes API 交互以创建和管理 Pod。
以下是一个示例 kube_config 文件:
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: <base64 encoded ca.crt>
server: https://<cluster-url>
name: <cluster-name>
contexts:
- context:
cluster: <cluster-name>
user: <user-name>
name: <context-name>
current-context: <context-name>
kind: Config
preferences: {}
users:
- name: <user-name>
user:
client-certificate-data: <base64 encoded tls.crt>
client-key-data: <base64 encoded tls.key>
其中:
certificate-authority-data
是 base64 编码后的 CA 证书。server
是 Kubernetes 集群的访问 URL。name
是集群的名称。cluster
是上述集群信息的组合。user
是用于连接集群的用户信息。client-certificate-data
和client-key-data
是用于身份验证的 TLS 证书和私钥,也是 base64 编码后的。
要在 Airflow 中使用 kube_config 文件,可以在 airflow.cfg 文件中设置 kubernetes_config_file
参数,指定 kube_config 文件的路径。例如:
[kubernetes]
# ...
kubernetes_config_file = /path/to/kube/config
有关更多信息,请参阅 Airflow 官方文档:KubernetesExecutor - Configuration。