Code Monkey home page Code Monkey logo

plugins's Introduction


Welcome to K3ai Project

K3ai is a lightweight tool to get an AI Infrastructure Stack up in minutes not days.

cli version  go version  go report  license


NOTE on the K3ai origins

Original K3ai Project has been developed at the end of October 2020 in 2 weeks by:

K3ai v1.0 has been entirely re-written by Alessandro Festa during the month of October 2021 to offer a better User Experience.

Thanks to the amazing and incredible people and projects that have been instrumental to create K3ai project repositories,website,etc...

⚡️ Quick start

Let's discover K3ai in three simple steps.

🌘 Getting Started

Get started by download k3ai from the release page here.

Or try K3ai companion script using this command:

curl -LO https://get.k3ai.in | sh -

🌗 Load K3ai configuration

Let's start loading the configuration:

k3ai up

First time k3ai run will ask for a Github PAT (Personal Access Token) that we will use to avoid API calls limitations. Check Github Documentation to learn how to create one. Your personal GH PAT only need read repository permission.


🌖 Configure the base infrastructure

Choose your favourite Kubernetes flavor and run it:

To know which K8s flavors are available

k3ai cluster list --all

it should print something like:

┌─────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ INFRASTRUCTURE                                                                                          │
├───────┬─────────────────────────────────────────────────────┬───────┬────────┬─────────┬────────────────┤
│ TYPE  │ DESCRIPTION                                         │ KIND  │ TAG    │ VERSION │ STATUS         │
├───────┼─────────────────────────────────────────────────────┼───────┼────────┼─────────┼────────────────┤
│ CIVO  │ The First Cloud Native Service Provider Power...    │ infra │ cloud  │ latest  │ Available      │
├───────┼─────────────────────────────────────────────────────┼───────┼────────┼─────────┼────────────────┤
│ EKS-A │ Amazon Eks Anywhere Is A New Deployment Option...   │ infra │ hybrid │ v0.5.0  │ Available      │
│       │ ate And Operate Kubernetes Clusters On Custome...   │       │        │         │                │
├───────┼─────────────────────────────────────────────────────┼───────┼────────┼─────────┼────────────────┤
│ K3S   │ K3s Is A Highly Available, Certified Kubernetes...  │ infra │ local  │ latest  │ Available      │
│       │ oads In Unattended, Resource-Constrained...         │       │        │         │                │
├───────┼─────────────────────────────────────────────────────┼───────┼────────┼─────────┼────────────────┤
│ KIND  │ Kind Is A Tool For Running Local Kubernetes...      │ infra │ local  │ v0.11.2 │ Available      │
│       │ as Primarily Designed For Testing Kubernetes...     │       │        │         │                │
│       │  Or Ci.                                             │       │        │         │                │
├───────┼─────────────────────────────────────────────────────┼───────┼────────┼─────────┼────────────────┤
│ TANZU │ Tanzu Community Edition Is A Fully-Featured...      │ infra │ hybrid │ latest  │ In Development │
│       │ ers And Users. It Is A Freely Available...          │       │        │         │                │
│       │  Of Vmware Tanzu.                                   │       │        │         │                │
└───────┴─────────────────────────────────────────────────────┴───────┴────────┴─────────┴────────────────┘

Now let start with something super fast and super simple:

k3ai cluster deploy --type k3s --n mycluster

🌝 Install a plugin to do your AI experimentations

Now that the server is up and running let's type:

k3ai plugin deploy -n mlflow -t mycluster

K3ai will print the url where you may access to the MLFLow tracking server at the end of the installation. That's all now just start having fun with K3ai!

🌈 Push a piece of code to the AI tools and focus on your goals

Let's push some code to the AI tool (i.e.: MLFlow)

k3ai run --source https://github.com/k3ai/quickstart --target mycluster --backend mlflow

wait the run to complete and login the backend AI tolls (i.e.: on the MLFlow UI http://<YOUR IP>:30500)

Current Implementation support

Operating Systems

Operating System K3ai v1.0.0
Linux Yes
Windows In Progress
MacOs In Progress
Arm In Progress

Clusters

K8s Clusters K3ai v1.0.0
Rancher K3s Yes
Vmware Tanzu Community Ed. Yes
Amazon EKS Anywhere Yes
KinD Yes

Plugins

Plugins K3ai v1.0.0
Kuebflow Components Yes
MLFlow Yes
Apache Airflow Yes
Argo Workflows Yes

⭐️ Project assistance

If you want to say thank you or/and support active development of K3ai Project:

Together, we can make this project better every day! 😘

⚠️ License

K3ai is free and open-source software licensed under the BSD 3-Clause. Official logo was created by Alessandro Festa.

plugins's People

Contributors

alefesta avatar burntcarrot avatar github-actions[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

plugins's Issues

[Feature] Support the Kubeflow components as standalone installation

Following the Kubeflow manifests here we should aim to have a list of plugins for that.
The proposed list is:

Plugin Name Component Local Manifests Path Upstream Revision
kf-training-operator Training Operator apps/training-operator/upstream v1.3.0-rc.2
kf-mpi-operator MPI Operator apps/mpi-job/upstream v0.3.0
kf-notebooks Notebook Controller apps/jupyter/notebook-controller/upstream v1.4-rc.0
kf-tensorboard Tensorboard Controller apps/tensorboard/tensorboard-controller/upstream v1.4-rc.0
kf-dashboard Central Dashboard apps/centraldashboard/upstream v1.4-rc.0
kf-am Profiles + KFAM apps/profiles/upstream v1.4-rc.0
pods-webhook PodDefaults Webhook apps/admission-webhook/upstream v1.4-rc.0
kf-notebooks Jupyter Web App apps/jupyter/jupyter-web-app/upstream v1.4-rc.0
kf- tensorboard Tensorboards Web App apps/tensorboard/tensorboards-web-app/upstream
kf-volumes Volumes Web App apps/volumes-web-app/upstream v1.4-rc.0
kf-katib Katib apps/katib/upstream v0.12.0-rc.1
kf-serve KFServing apps/kfserving/upstream v0.6.0
kf-pa Kubeflow Pipelines apps/pipeline/upstream 1.7.0
kf-pt Kubeflow Tekton Pipelines apps/kfp-tekton/upstream v1.0.0

Kubeflow: Unable to contact profile controller

Opening the Kubeflow Dashboard Shows the error: Unable to contact profile controller and No Namespaces in the profile dropdown.

Steps to reproduce

export INSTALL_K3S_VERSION="v1.19.1+k3s1" && \
  k3ai cluster deploy --type k3s -n kubeflow-test && \
  k3ai plugin deploy -n kf-dashboard -t kubeflow-test

The k3s Version is to make sure that no errors regarding the CustomResourceDefinition come up, which is not supported in the latest Kubernetes version.

Checking the dashboard pod logs with k3s kubectl logs centraldashboard-7d496c59bb-gtpt4 --namespace kubeflowgets me:

> [email protected] start /app
> npm run serve


> [email protected] serve /app
> node dist/server.js

Initializing Kubernetes configuration
Unable to fetch Application information: 404 page not found

"k3s" is not a supported platform for Metrics
Using Profiles service at http://profiles-kfam.kubeflow:8081/kfam
Server listening on port http://localhost:8082 (in production mode)
Unable to contact Profile Controller Error: getaddrinfo ENOTFOUND profiles-kfam.kubeflow
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:66:26) {
  errno: 'ENOTFOUND',
  code: 'ENOTFOUND',
  syscall: 'getaddrinfo',
  hostname: 'profiles-kfam.kubeflow'
}

Nevertheless, the Cluster setup and plugin deployment process went without errors and all pods seem to run healthy.

I'm not sure, whether there is a pod missing or another component is needed.

[Feature] MLFlow K8s implementation

Since MLFlow still lacks official support for K8s but seems to be highly requested by the various community we should aim to create an un-official version of MLFlow that point always to the latest version.

[Feature] AirFlow support

We should have a plugin dedicated to Apache Airflow.
With this and MLFlow + Kubeflow, we would cover the three major projects in the AI space.

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.