Skip to main content

prefect_kubernetes.flows

A module to define flows interacting with Kubernetes resources.

Functions

run_namespaced_job

run_namespaced_job(kubernetes_job: KubernetesJob, print_func: Optional[Callable] = None) -> Dict[str, Any]
Flow for running a namespaced Kubernetes job. Args:
  • kubernetes_job: The KubernetesJob block that specifies the job to run.
  • print_func: A function to print the logs from the job pods.
Returns:
  • A dict of logs from each pod in the job, e.g. {'pod_name': 'pod_log_str'}.
Raises:
  • RuntimeError: If the created Kubernetes job attains a failed status.
Example:
from prefect_kubernetes import KubernetesJob, run_namespaced_job
from prefect_kubernetes.credentials import KubernetesCredentials

run_namespaced_job(
    kubernetes_job=KubernetesJob.from_yaml_file(
        credentials=KubernetesCredentials.load("k8s-creds"),
        manifest_path="path/to/job.yaml",
    )
)

run_namespaced_job_async

run_namespaced_job_async(kubernetes_job: KubernetesJob, print_func: Optional[Callable] = None) -> Dict[str, Any]
Flow for running a namespaced Kubernetes job. Args:
  • kubernetes_job: The KubernetesJob block that specifies the job to run.
  • print_func: A function to print the logs from the job pods.
Returns:
  • A dict of logs from each pod in the job, e.g. {'pod_name': 'pod_log_str'}.
Raises:
  • RuntimeError: If the created Kubernetes job attains a failed status.
Example:
from prefect_kubernetes import KubernetesJob, run_namespaced_job
from prefect_kubernetes.credentials import KubernetesCredentials

run_namespaced_job(
    kubernetes_job=KubernetesJob.from_yaml_file(
        credentials=KubernetesCredentials.load("k8s-creds"),
        manifest_path="path/to/job.yaml",
    )
)