airflow.providers.cncf.kubernetes.hooks.kubernetes¶
属性¶
类¶
创建 Kubernetes API 连接。 |
|
异步使用 Kubernetes SDK 的 Hook。 |
模块内容¶
- airflow.providers.cncf.kubernetes.hooks.kubernetes.LOADING_KUBE_CONFIG_FILE_RESOURCE = '正在加载 Kubernetes 配置文件 kube_config 从 {}...'[源码]¶
- class airflow.providers.cncf.kubernetes.hooks.kubernetes.KubernetesHook(conn_id=default_conn_name, client_configuration=None, cluster_context=None, config_file=None, in_cluster=None, disable_verify_ssl=None, disable_tcp_keepalive=None)[源码]¶
基类:
airflow.hooks.base.BaseHook
,airflow.providers.cncf.kubernetes.utils.pod_manager.PodOperatorHookProtocol
创建 Kubernetes API 连接。
在连接中使用额外的 `in_cluster` 字段来使用集群内配置
在连接中使用额外的 `kube_config_path` 字段提供文件路径来使用自定义配置
- 在连接中通过额外的 `kube_config` 字段提供 kubeconfig 文件内容来使用自定义配置
不提供额外字段来使用默认配置
此 hook 按照上述顺序检查配置选项。一旦某个选项存在,它将使用此配置。
另请参阅
有关 Kubernetes 连接的更多信息: Kubernetes 集群连接
- 参数:
conn_id (str | None) – 到 Kubernetes 集群的 Kubernetes 连接。
client_configuration (kubernetes.client.Configuration | None) – 可选的客户端配置参数字典。传递给 kubernetes 客户端。
cluster_context (str | None) – 可选指定要使用的上下文(例如,如果您的 kubeconfig 中有多个上下文)。
config_file (str | None) – kubeconfig 文件路径。
in_cluster (bool | None) – 如果在 Kubernetes 集群内部运行,则设置为
True
。disable_verify_ssl (bool | None) – 如果应禁用 SSL 验证,则设置为
True
。disable_tcp_keepalive (bool | None) – 如果要禁用 TCP keepalive 逻辑,则设置为
True
。
- classmethod get_connection(conn_id)[源码]¶
返回请求的连接。
如果连接缺失且 conn_id 为 "kubernetes_default",则返回空连接,以便 hook 默认使用集群派生的凭据。
- delete_custom_object(group, version, plural, name, namespace=None, **kwargs)[源码]¶
从 Kubernetes 删除自定义资源定义对象。
- get_namespaced_pod_list(label_selector='', namespace=None, watch=False, **kwargs)[源码]¶
检索属于默认 kubernetes 命名空间的 Kind pod 列表。
- create_job(job, **kwargs)[源码]¶
运行 Job。
- 参数:
job (kubernetes.client.models.V1Job) – 一个 kubernetes Job 对象
- list_jobs_all_namespaces()[源码]¶
从所有命名空间获取 Job 列表。
- 返回:
V1JobList 对象
- 返回类型:
kubernetes.client.V1JobList
- list_jobs_from_namespace(namespace)[源码]¶
从指定命名空间获取 Job 列表。
- 参数:
namespace (str) – Job 的命名空间。
- 返回:
V1JobList 对象
- 返回类型:
kubernetes.client.V1JobList
- class airflow.providers.cncf.kubernetes.hooks.kubernetes.AsyncKubernetesHook(config_dict=None, *args, **kwargs)[source]¶
-
异步使用 Kubernetes SDK 的 Hook。
- async read_logs(name, namespace)[source]¶
在 pod 启动容器时读取 pod 内部的日志。
所有日志将与时间戳一起输出,以便在 pod 执行完成后跟踪日志。此方法仅用于在 pod 执行失败或任务被用户取消时异步输出日志。
- async wait_until_job_complete(name, namespace, poll_interval=10)[source]¶
阻塞指定名称和命名空间的 Job,直到其完成或失败。