Deployment CLI examples based on your platform, storage and infrastructure

Platform Storage Block Infrastructure Block End Result CLI Build Command for hello.py flow with flow function hello
Local/VM N/A N/A Local storage and local process on the same machine from which you created a deployment prefect deployment build hello.py:hello -n implicit -q dev
Local/VM N/A N/A Local storage and local process on the same machine from which you created a deployment β€” but with version and storing the output YAML manifest with the given file name in the deploy directory prefect deployment build hello.py:hello -n implicit-with-version -q dev -v github_sha -o deploy/implicit_with_version.yaml
Local/VM N/A -ib process/dev Local storage and local process on the same machine from which you created a deployment, but in contrast to the example from the first row, this requires you to create this Process block with name dev beforehand explicitly, rather than implicitly letting Prefect create it for you as anonymous block prefect deployment build hello.py:hello -n implicit -q dev -ib process/dev
Local/VM N/A -ib process/dev Local storage and local process block but overriding the default environment variable to set log level to debug via --override flag prefect deployment build hello.py:hello -n implicit -q dev -ib process/dev --override env.PREFECT_LOGGING_LEVEL=DEBUG
Local/VM N/A –infra process Local storage and local process on the same machine from which you created a deployment, but in contrast to the example in the first row, it explicitly specifies that you want to use process block; the result is exactly the same, i.e. Prefect will create an anonymous Process block prefect deployment build hello.py:hello -n implicit -q dev --infra process
AWS S3 + EC2 -sb s3/dev -ib process/dev S3 storage block and local Process block - this setup allows you to use a remote agent e.g. running on an EC2 instance; any flow run from this deployment will run as a local process on that VM and Prefect will pull code from S3 at runtime prefect deployment build hello.py:hello -n s3-process -q dev -sb s3/dev -ib process/dev
AWS S3 + EC2 -sb s3/dev -ib docker-container/dev S3 storage block and DockerContainer block - this setup allows you to use a remote agent e.g. running on an EC2 instance; any flow run from this deployment will run as a docker container on that VM and Prefect will pull code from S3 at runtime prefect deployment build hello.py:hello -n s3-docker -q dev -sb s3/dev -ib docker-container/dev
AWS S3 + EKS -sb s3/dev -ib kubernetes-job/dev S3 storage block and KubernetesJob block - this setup allows you to use a remote agent running as Kubernetes deployment e.g. running on an AWS EKS cluster; any flow run from this deployment will run as a Kubernetes job pod within that cluster and Prefect will pull code from S3 at runtime prefect deployment build hello.py:hello -n s3-k8s -q dev -sb s3/dev -ib kubernetes-job/dev
GCP GCS + GCE -sb gcs/dev -ib process/dev GCS storage block and local Process block - this setup allows you to use a remote agent e.g. running on Google Compute Engine instance; any flow run from this deployment will run as a local process on that VM and Prefect will pull code from GCS at runtime prefect deployment build hello.py:hello -n gcs-process -q dev -sb gcs/dev -ib process/dev
GCP GCS + GCE -sb gcs/dev -ib docker-container/dev GCS storage block and DockerContainer block - this setup allows you to use a remote agent e.g. running on Google Compute Engine instance; any flow run from this deployment will run as a docker container on that VM and Prefect will pull code from GCS at runtime prefect deployment build hello.py:hello -n gcs-docker -q dev -sb gcs/dev -ib docker-container/dev
GCP GCS + GKE -sb gcs/dev -ib kubernetes-job/dev GCS storage block and KubernetesJob block - this setup allows you to use a remote agent running as Kubernetes deployment e.g. running on GCP GKE cluster; any flow run from this deployment will run as a Kubernetes job pod within that cluster and Prefect will pull code from GCS at runtime prefect deployment build hello.py:hello -n gcs-k8s -q dev -sb gcs/dev -ib kubernetes-job/dev
Azure Blob Storage + Azure VM -sb azure/dev -ib process/dev Azure storage block and local Process block - this setup allows you to use a remote agent e.g. running on Azure VM instance; any flow run from this deployment will run as a local process on that VM and Prefect will pull code from Azure storage at runtime prefect deployment build hello.py:hello -n az-process -q dev -sb azure/dev -ib process/dev
Azure Blob Storage + Azure VM -sb azure/dev -ib docker-container/dev Azure storage block and DockerContainer block - this setup allows you to use a remote agent e.g. running on Azure VM instance; any flow run from this deployment will run as a docker container on that VM and Prefect will pull code from Azure storage at runtime prefect deployment build hello.py:hello -n az-docker -q dev -sb azure/dev -ib docker-container/dev
Azure Blob Storage + AKS -sb azure/dev -ib kubernetes-job/dev GCS storage block and KubernetesJob block - this setup allows you to use a remote agent running as Kubernetes deployment e.g. running on Azure AKS cluster; any flow run from this deployment will run as a Kubernetes job pod within that cluster and Prefect will pull code from Azure storage at runtime prefect deployment build hello.py:hello -n az-k8s -q dev -sb azure/dev -ib kubernetes-job/dev
1 Like