Notebook SKU
During infrastructure setup, the administrator would have cloned compute and Jupyter notebook templates into our project. In this step, you will use the PaaS Admin portal to create and publish SKUs that will be made available to end users for self-service in the Developer Hub.
During the infrastructure setup step, the Org Administrator would have navigated to the "Template Catalog" and cloned the compute and Jupyter notebook templates into this project.
In this step, you will use the PaaS Studio to create and publish a service profile (aka SKU) for Jupyter Notebooks that will be made immediately available to end users for self-service consumption via the Developer Hub.
You will create a Service Profile for a Jupyter Notebook that the user can deploy into a compute instance.
Progressive Templating¶
The PaaS Studio is the 2nd layer of progressive templating. In the first step as the Infra/Org Admin, when we cloned/created the template, we locked down some of the configuration. In this step, as a PaaS admin, you will progressively lock down a few more configurations to ensure that the end user has a simple, intuitive experience.
Jupyter Notebook Service Profile¶
Let us now see how we can create a service profile for a Jupyter Notebook SKU. Our notebook does come with compute. It needs to be deployed into a compute instance that the user will select during deployment.
General Section¶
- Select Service Profiles and click on New Service Profile
- Provide a unique name for the service
- Select the environment template/version for the "Jupyter Notebook" from the dropdown (this would have been shared to your project by the admin)
- For Service Type, select "notebook"
- Ensure that the "Is compute required?" toggle is enabled (Note that this is the default)
- Click on Save
Design Profile Card¶
Input Settings¶
Now, we have to decide what options we want to expose/provide the end user. Let us start by disabling all user input.
Info
For this Getting Started exercise, for your convenience, the Rafay Platform will automatically program DNS on a Rafay managed domain and point it to the IP address of the Kubernetes cluster. For Production deployments, you will need to bring your own domain with a programmable DNS service such as AWS Route53.
- Navigate to the "Input Settings" configuration section
- Uncheck all checkboxes except for "Notebook Profile" under "Allow Override".
We will decide below what inputs (degrees of freedom) we wish to allow the end user.
Host Cluster¶
In the "Host Cluster" box, enter the name of the host cluster. The Rafay agent will be using this to download a Kubeconfig to use Kubectl based operations to dynamically retrieve information from the host cluster.
Ingress Details¶
- In the "Ingress IP", enter the "Public IP" for the Kubernetes cluster's ingress controller
- In the "Ingress Namespace", enter "ingress-nginx"
Notebook Profiles¶
- Select the "Allow Override" for the Notebook Profile
A number of ready to use profiles are available for Jupyter Notebooks. Each profile will automatically configure and deploy various AI/ML tools and frameworks for the convenience of the end user/data scientist.
Info
The Ingress Namespace override allows you to use any 3rd party Ingress Controller you wish to use. In this exercise, we are using the standard, upstream Nginx Ingress Controller.
Configure Outputs¶
The notebook template will automatically generate a large number of output variables. Not all of them are useful for the end user. In the step below, we will configure and customize what we want to display to the end user after the notebook is deployed successfully.
- Navigate to the "Output Settings" configuration section
- Click "Add Output"
-
Enter"notebook_url" under "Name"
-
Click "Add Output"
- Enter "token" under "Name"
- Click "Save Changes
Info
When a notebook is successfully deployed onto a compute instance, the end user will be shown just the URL where they can access the notebook and the access token they need to copy/paste in order to use the Jupyter Notebook.
Review Notebook Profile¶
You should now have a published service profile for a Jupyter Notebook.
Admins can optionally check if the SKU is available for use by following the steps below.
- In the left menu, click on Service Instances and click on New Service Instance
- You should now see the newly created "notebook" SKU as an option.
- Validate the input selectors presented to confirm if this is the expected experience for the end user.