GithubHelp home page GithubHelp logo

broderpeters / flyte-the-hard-way Goto Github PK

View Code? Open in Web Editor NEW

This project forked from davidmirror-ops/flyte-the-hard-way

0.0 0.0 0.0 2.4 MB

Prepare requirements and deploy Flyte using Helm

License: Creative Commons Zero v1.0 Universal

flyte-the-hard-way's Introduction

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.

flyte-the-hard-way's People

Contributors

davidmirror-ops avatar fiedlernr9 avatar cuevasclemente avatar jiwidi avatar neverett avatar durgaivs avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.