Hi Preeti,
1. Deployments register all the configuration pieces (storage, infra, labels, scheduling etc.) You run this in advance, or as part of CI/CD, locally, or wherever.
2. Running a deployment creates a flow_run from said flow using all the parameters you defined in the deployment. Your agents pick up these flow_runs based on matching the labels.
3. We have a number of tutorials for docker, kubernetes, etc. that can walk through this _
https://docs.prefect.io/tutorials/
4. You can do it from CLI, Python API, rest API, or UI.
a.
https://docs.prefect.io/api-ref/prefect/deployments/#prefect.deployments.run_deployment
b.
https://app.prefect.cloud/api/docs#tag/Deployments/operation/create_flow_run_from_deployme[…]es__workspace_id__deployments__id__create_flow_run_post
c.
https://docs.prefect.io/api-ref/prefect/cli/deployment/#prefect.cli.deployment.run