Okay if everything worked as expected you're now a (not yet completely) happy owner. And I say not yet completely happy customer because there's not yet any AI tool there.
So, let's do a recap, the cluster is up and running but you probably don't know:
How to interact with that
How to install things on it.
First things first. Do you remember that utility we asked you to download and install named k9s? Okay now just type in your terminal
k9sand you'll see your Kubernetes cluster appear. To close it down CTRL+C
In case you saw us printing something like
export=/path/path/file just copy&paste that before typing K9s. That is needed to explain to your laptop how to reach out your freshly installed cluster.
In order to start playing with AI you need a workspace right? So the first way to get one is using the popular Jupyter Notebooks.
The Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and narrative text. Uses include: data cleaning and transformation, numerical simulation, statistical modeling, data visualization, machine learning, and much more. - https://jupyter.org/
K3ai as an amazing way to get things done that is a simple rule:
everything needs to be done in no more than 3 steps
That's why we developed the plugins and group-plugins concept, to take shortcuts and get the job done.
So let's take a look at the option we got first. Type the following in your terminal
You should get a result similar to the one below
k3ai listName Descriptionargo-workflow Argo Workflow pluginh2o-single H2O.aijupyter-minimal Minimal Jupyter Configurationkatib Kubeflow Katibkf-pipelines-tekton Kubeflow Pipelines based on Tektonkubeflow-pipelines Kubeflow Pipelines platform agnosticmpi-op MPI-Operatornvidia-gpu Nvidia GPU supportpytorch-op Pytorch optekton Kubeflow Pipelines based on Tektontensorflow-op Kubeflow Tensorflow......
That's the list of the current plugins we got, each one represents a single application. Now let's try a different command:
k3ai list -g
The result will be different (something similar to):
k3ai list -gName Descriptionargo-workflow-traefik Expose Argo Workflow using traefik HTTPjupyter-minimal-traefik Expose Jupyter Notebooks using traefik HTTPkatib-traefik Expose Katib using traefik HTTPkf-pipelines-tekton-traefik Expose Kubeflow pipelines with Tekton backend using traefik HTTPkubeflow-pipelines-traefik Expose Kubeflow Workflow using traefik HTTPpytorch-op-traefik Expose Pytorch using traefik HTTPtensorflow-op-traefik Expose Tensorflow using traefik HTTP......
What we asked was: "Hey k3ai give me the list of the group plugins please". What is a group plugin? It's a combination of plugins. For example, let's take our Jupyter Notebook: we want the notebook itself but we also want to publish it through an ingress (traefik) so that we may reach out immediately to the application.
Kubernetes Ingress builds on top of Kubernetes Services to provide load balancing at the application layer, mapping HTTP and HTTPS requests with particular domains or URLs to Kubernetes services. Ingress can also be used to terminate SSL / TLS before load balancing to the service.
NOTE: Not all group plugins work with every cluster because not all of them deploy the same configuration to make things easier check the below table a reference.
Where it works out of the box
Okay, we are ready, let's go for the notebook. Type:
k3ai apply jupyter-minimal
Or if you want also the ingress (like in K3s/k3d)
k3ai apply -g jupyter-minimal-traefik
Once everything has been deployed the notebook is reachable at
http://<YOUR CLUSTER IP>:8888
Note: if did not use the ingress you have first to expose the port, simply type the following in your terminal to reach it out
kubectl port-forward -n jupyter deployment/jupyter-minimal 8888:8888
Don't close the terminal, open your browser and point yourself to
http://<YOUR CLUSTER IP>:8888
Note: We do not use authentication for our notebook because we expect you to use if for experimentation but it's a standard configuration so in case head to How to build your first plugin section to learn how to change that
If everything went right you should see something similar to this