Single Cluster Simple Cloud Deployment#

Tags: Kubernetes, Infrastructure, Basic

These instructions are suitable for the main cloud providers.


In order to install Flyte, you will need access to the following:

  • A Kubernetes cluster: EKS, GKE, etc.

  • At least one blob storage bucket: S3, GCS, etc.

  • A Postgres database: RDS, CloudSQL, etc.

  • At least one IAM role on AWS, GCP, etc. This is the role for the Flyte backend service to assume. You can provision another role for user code to assume as well.

As Flyte documentation cannot keep up with the pace of change of the cloud provider APIs, please refer to their official documentation for each of these prerequisites.


Union.AI plans to open-source a reference implementation of these requirements for the major cloud providers in early 2023.


Flyte is installed via a Helm chart. First, add the Flyte chart repo to Helm:

helm repo add flyteorg

Then download and update the values files:

curl -sL

Finally, install the chart:

helm install flyte-backend flyteorg/flyte-binary \
    --dry-run --namespace flyte --values eks-starter.yaml

When ready to install, remove the --dry-run switch.

Verify the Installation#

The values supplied by the eks-starter.yaml file provides only the simplest installation of Flyte. The core functionality and scalability of Flyte will be there, but no plugins are included (e.g. Spark tasks will not work), there is no DNS or SSL, and there is no authentication.

Port Forward Flyte Service#

To verify the installation therefore you’ll need to port forward the Kubernetes service.

kubectl -n flyte port-forward service/flyte-binary 8088:8088 8089:8089

You should be able to navigate to http://localhost:8088/console.

The Flyte server operates on two different ports, one for HTTP traffic and one for gRPC traffic, which is why we port forward both.

From here, you should be able to run through the Getting Started examples again. Save a backup copy of your existing configuration if you have one and generate a new config with flytectl.

mv ~/.flyte/config.yaml ~/.flyte/bak.config.yaml
flytectl config init --host localhost:8088

This will produce a file like:

  # For GRPC endpoints you might want to use dns:///
  endpoint: dns:///localhost:8088
  authType: Pkce
  insecure: true
  show-source: true
  level: 0

Test Workflow#

You can test a workflow by cloning the flytesnacks repo and running the hello world example:

git clone
cd flytesnacks/cookbook
pyflyte run --remote core/flyte_basics/ my_wf

Flyte in on-premises infrastructure#

Sometimes, it’s also helpful to be able to set up a Flyte environment in an on-premises Kubernetes environment or even on a laptop for testing and development purposes. Check out this community-maintained tutorial to learn how to setup the required dependencies and deploy the flyte-binary chart to a local Kubernetes cluster.

What’s Next?#

Congratulations ⭐️! Now that you have a Flyte cluster up and running on the cloud, you can productionize it by following the Single Cluster Production-grade Cloud Deployment guide.