Back to Prefect

flows

docs/integrations/prefect-kubernetes/api-ref/prefect_kubernetes-flows.mdx

3.6.30.dev32.3 KB
Original Source

prefect_kubernetes.flows

A module to define flows interacting with Kubernetes resources.

Functions

run_namespaced_job <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/integrations/prefect-kubernetes/prefect_kubernetes/flows.py#L11" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

python
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:

```python
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 <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/integrations/prefect-kubernetes/prefect_kubernetes/flows.py#L48" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

python
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:

```python
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",
    )
)
```