GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - sql-machine-learning/playground: Deploy SQLFlow service mesh on Windows, macOS, and Linux desktop computers

BranchesTags
Open more actions menu

Latest commit

 

History

92 Commits
92 Commits

Folders and files

NameName
Last commit message
Last commit date
figures
figures
 
 
python
python
 
 
sqlflow @ 9f6a415
sqlflow @ 9f6a415
 
 
.gitignore
.gitignore
 
 
.gitmodules
.gitmodules
 
 
README.md
README.md
 
 
Vagrantfile
Vagrantfile
 
 
dev.md
dev.md
 
 
index.html
index.html
 
 
play.sh
play.sh
 
 
provision.bash
provision.bash
 
 
release.sh
release.sh
 
 
start.bash
start.bash
 
 

Repository files navigation

Release SQLFlow Desktop Distribution as a VM Image

This is an experimental work to check deploying the whole SQLFlow service mesh on Windows, Linux, or macOS desktop.

The general architecture of SQLFlow is as the following:

In this deployment, we have Jupyter Notebook server, SQLFlow server, and MySQL running in a container executing the sqlflow/sqlflow:latest image. Argo runs on a minikube cluster running on the VM. The deployment is shown in the folllowing figure:

I chose this deployment plan for reasons:

  1. We don't have a well-written local workflow engine, and at the right moment, we need to focus on the Kubernetes-native engine. So, we use minikube and install Argo on minikube.

  2. We can install minikube directly on users' desktop computers running Windows, Linux, macOS. However, writing a shell script to do that requires us to consider many edge cases. To have a clear deployment environment, I introduced VM.

  3. To make the VM manageable in a programmatic way, I used Vagrant. Please be aware that Vagrant is the only software users need to install to use SQLFlow on their desktop computer. And Vagrant provides official support for Windows, Linux, and macOS.

  4. We can run the SQLFlow server container (sqlflow/sqlflow:latest) on minikube as well. But that would add challenge to export ports. Running the container directly in the VM but out of minikube, we

    1. expoe the in-container port by adding EXPOSE statement in the Dockerfile, and

    2. expose the docker port for accessing from outside of the VM by adding the following code snippet to the Vagrantfile.

      config.vm.network "forwarded_port", guest: 3306, host: 3306
      config.vm.network "forwarded_port", guest: 50051, host: 50051
      config.vm.network "forwarded_port", guest: 8888, host: 8888

About

Deploy SQLFlow service mesh on Windows, macOS, and Linux desktop computers

sqlflow.org

Resources

Readme
Activity
Custom properties

Stars

12 stars

Watchers

4 watching

Forks

7 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.