Single Cluster Production-grade Cloud Deployment#
The following guide assumes you’ve successfully set up a Single Cluster Simple Cloud Deployment.
This guide describes additional setup steps to productionize your Flyte deployment. While not strictly required, we recommend that you incorporate these changes.
Ingress/DNS#
Assuming your cluster has an existing Ingress controller, Flyte will be accessible without port forwarding. The base chart installed in the previous guide already contains the ingress rules, but they are not enabled by default.
To turn on ingress, update your values.yaml
file to include the following block.
subjects:
- kind: ServiceAccount
name: spark
namespace: '{{ namespace }}'
ingress:
create: true
commonAnnotations:
kubernetes.io/ingress.class: nginx
httpAnnotations:
Note
This currently assumes that you have nginx ingress. We’ll be updating these in the near future to use the ALB ingress controller instead.
Authentication#
Authentication comes with Flyte in the form of OAuth 2. Please see the authentication guide for instructions.
Note
Authorization is not supported out-of-the-box in Flyte. This is due to the wide and variety of authorization requirements that different organizations use.
Upgrade Path#
To upgrade, simply helm upgrade
your relevant chart.
One thing to keep in mind during upgrades is that Flyte is released regularly
using semantic versioning. Since Flyte 1.0.0
will be with us for a while,
you should expect large changes in minor version bumps, which backwards
compatibility being maintained, for the most part.
If you’re using the multi-cluster deployment model for Flyte, components should be upgraded together.
Note
Expect to see minor version releases roughly 4-6 times a year - we aim to release monthly, or whenever there is a large enough set of features to warrant a release. Expect to see patch releases at more regular intervals, especially for flytekit, the Python SDK.