airflow.providers.cncf.kubernetes.triggers.pod

ContainerState

可能的容器状态。

KubernetesPodTrigger

KubernetesPodTrigger 在触发器工作进程上运行,用于检查 Pod 的状态。

模块内容

class airflow.providers.cncf.kubernetes.triggers.pod.ContainerState[source]

基类: str, enum.Enum

可能的容器状态。

请参阅 https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase

WAITING = 'waiting'[source]
RUNNING = 'running'[source]
TERMINATED = 'terminated'[source]
FAILED = 'failed'[source]
UNDEFINED = 'undefined'[source]
class airflow.providers.cncf.kubernetes.triggers.pod.KubernetesPodTrigger(pod_name, pod_namespace, trigger_start_time, base_container_name, kubernetes_conn_id=None, poll_interval=2, cluster_context=None, config_dict=None, in_cluster=None, get_logs=True, startup_timeout=120, startup_check_interval=5, on_finish_action='delete_pod', last_log_time=None, logging_interval=None)[source]

基类: airflow.triggers.base.BaseTrigger

KubernetesPodTrigger 在触发器工作进程上运行,用于检查 Pod 的状态。

参数::
  • pod_name (str) – Pod 的名称。

  • pod_namespace (str) – Pod 的命名空间。

  • kubernetes_conn_id (str | None) – Kubernetes 集群的 Kubernetes 连接 ID

  • cluster_context (str | None) – 指向 Kubernetes 集群的上下文。

  • config_dict (dict | None) – 字典格式的 kubeconfig 文件内容。

  • poll_interval (float) – 检查状态的轮询间隔(秒)。

  • trigger_start_time (datetime.datetime) – 触发器启动时的日期时间格式时间

  • in_cluster (bool | None) – 使用 in_cluster 配置运行 Kubernetes 客户端。

  • get_logs (bool) – 将容器的标准输出作为任务日志获取。

  • startup_timeout (int) – 启动 Pod 的超时时间(秒)。

  • startup_check_interval (int) – 检查 Pod 是否已启动的间隔(秒)。

  • on_finish_action (str) – 当 Pod 达到最终状态或执行中断时,要采取的操作。如果设置为“delete_pod”,无论 Pod 状态如何,都将删除 Pod;如果设置为“delete_succeeded_pod”,则仅删除成功的 Pod。您可以设置为“keep_pod”以保留 Pod。

  • logging_interval (int | None) – 在将其踢回操作器以打印最新日志之前等待的秒数。如果为 None,则将等待直到容器完成。

  • last_log_time (pendulum.DateTime | None) – 从哪里继续记录日志

pod_name[source]
pod_namespace[source]
trigger_start_time[source]
base_container_name[source]
kubernetes_conn_id = None[source]
poll_interval = 2[source]
cluster_context = None[source]
config_dict = None[source]
in_cluster = None[source]
get_logs = True[source]
startup_timeout = 120[source]
startup_check_interval = 5[source]
last_log_time = None[source]
logging_interval = None[source]
on_finish_action[source]
serialize()[source]

序列化 KubernetesCreatePodTrigger 参数和类路径。

async run()[source]

获取当前 Pod 状态并生成一个 TriggerEvent。

property hook: airflow.providers.cncf.kubernetes.hooks.kubernetes.AsyncKubernetesHook[source]
define_container_state(pod)[source]
static should_wait(pod_phase, container_state)[source]

此条目是否有帮助?