blob: ed4c537413e50b036abbaaac5e360b6c0bed61bb [file] [log] [blame] [view]
---
id: functions-deploy
title: Deploy Pulsar Functions
sidebar_label: "How to deploy"
---
Pulsar provides two modes to deploy a function:
* [cluster mode (for production)](functions-deploy-cluster.md) - you can submit a function to a Pulsar cluster and the cluster will take charge of running the function.
* [localrun mode](functions-deploy-localrun.md) - you can determine where a function runs, for example, on your local machine.
## Prerequisites
Before deploying a function, you need to have a Pulsar cluster running first. You have the following options:
* Run a [standalone cluster](getting-started-standalone.md) locally on your own machine.
* Run a Pulsar cluster on [Kubernetes](deploy-kubernetes.md), [Amazon Web Services](deploy-aws.md), [bare metal](deploy-bare-metal.md), and so on.
:::note
If you want to deploy user-defined functions in Python, you need to install the [python client](client-libraries-python.md) on all the machines running [function workers](functions-concepts.md#function-worker).
:::