davidmirror-ops / flyte-the-hard-way

Prepare requirements and deploy Flyte using Helm

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Flyte The Hard Way

This tutorial walks you through setting up Flyte in a semi-automated way. It includes all the manual steps you need to prepare the infrastructure before adjusting and installing a Helm chart. For a fast non-production setup, try the Sandbox.

The steps described taken in this tutorial are not the only prescribed way to prepare the infrastructure or deploy Flyte. Feel free to contribute improvements or adapt it to your organization's policies and best practices.

This guides takes inspiration from Kubernetes The Hard Way

Target audience

This tutorial is intended for platform/infrastructure engineers who plan to support a Flyte environment for production or testing.

Introduction

Flyte is a flexible and robust platform to develop and deploy machine learning workloads in a cloud-native environment. It facilitates interaction with the underlying Kubernetes infrastructure for users who are not entirely familiar with it.

To make Flyte work (especially for deployment), you’ll need to prepare the infrastructure layer.

While the official documentation covers the general process to deploy the single binary version, this tutorial aims to supplement docs with guidance to prepare the for a successful installation of Flyte.

Flyte on AWS

This tutorial will deploy Flyte single binary to an EKS environment, progressively adding features to reach a production-ready setup.

For the purposes of this basic tutorial, I adhered to the following principles:

  • Keep all Flyte components in the same VPC
  • Use default permissions when needed. More fine-grained access control can be defined and implemented by each organization
  • Tag resources in accordance with your DevOps policies
  • Deploy no SSL or Ingress. Follow parts 2 and 3 of this series to add those features

Part I: Simple deployment without SSL, Ingress or authentication

Part II: Scalable networking with Ingress

Part III: Securing the stack with authentication

Flyte on local Kubernetes

In the following tutorials, you'll deploy the flyte-binary chart to different Kubernetes distributions running on-premises.

microk8s on VMs or bare-metal

Part I: Single node without Ingress

Part II: Multiple worker nodes and Ingress (coming soon)

Part III: Auth (coming soon)


microk8s on Raspberry Pi

Part I: Simple deployment with no Ingress or auth

Part II: Adding Ingress, TLS & submitting workflows

Part III: Adding Flyte Task Logs & Auth


Flyte deployment options

  • Hosted sandbox is available for free at sandbox.union.ai for a maximum of 4 hours. It includes a VS Code environment, Jupyter notebook and UI ready to get a quick feel of the platform.
  • Sandbox deploys a local, minimal Flyte backend via a single command. It includes core services, but it doesn’t scale and supports only the necessary extensions to expose the core Flyte functionality.
  • Single binary bundles console, admin, data-catalog and propeller services within a single binary that can be deployed to a production K8s environment or to a local test setup such as minikube. It uses a single Helm chart to reduce startup times and simplify deployment.
  • Core is the fully fledged deployment with complete control over the configuration of each Flyte component, including production-grade features like federated authentication and Ingress networking.

About

Prepare requirements and deploy Flyte using Helm

License:Creative Commons Zero v1.0 Universal