Optimized Performance: You can optimize your custom image for performance by including only the necessary dependencies and configurations. This can lead to faster startup times, reduced resource usage, and improved overall performance of your notebook instance.
Reproducibility: Custom images help ensure reproducibility of your work. By encapsulating your entire environment configuration within the image, you can easily recreate the same setup on different instances or share it with collaborators, guaranteeing consistent results.
Security and Compliance: If you have specific security or compliance requirements, you can build a custom image that adheres to those standards. This might involve using specific versions of software, applying security patches, or configuring network settings in a particular way.
Flexibility and Control: Custom images give you complete control over your environment. You can experiment with different configurations, install specific versions of software, and customize the environment to match your workflow preferences.
Ensure that your custom container is stored in a container registry accessible to the Greennode AI Platform.
Make sure your custom image contains the necessary environment setup, libraries, and dependencies for your notebook instance.
When running a notebook instance with a custom container in Kubernetes (K8s) technology, the securityContext is a crucial parameter that specifies the user or user group under which the processes in the container should run. This helps enforce security measures and ensures that the processes have the necessary permissions to perform their tasks without encountering permission-denied errors.
Specify RunAsUser or RunAsGroup: Within the securityContext, specify either runAsUser or runAsGroup to define the user or group that the container process should run as.
runAsUser: Specifies the numeric UID (User ID) for the user. This ensures that the container runs with the permissions of the specified user.
runAsGroup: Specifies the numeric GID (Group ID) for the group. This ensures that the container runs with the permissions of the specified group.
Ensure Proper Permissions: Ensure that the user or group specified in the securityContext has the necessary permissions to access resources and perform tasks required by the notebook instance. This may include permissions to access data volumes, write to specific directories, execute certain commands, etc
Log in to your Greennode AI Platform account and navigate to the Notebook Dashboard at: https://aiplatform.console.greennode.ai/notebooks
Find and click on the "Create a Notebook" button.
Provide a suitable name for your instance, e.g., "MyMLInstance."
Choosing the location for this notebook instance.
Selecting the “Custom container” option at “Image” section
Specify Image Storage URL: Provide the URL of your custom image stored in the container registry. This URL will be used by the Greennode AI Platform to pull the image during instance creation.
Provide Credentials:
If your custom image requires authentication to access, provide the necessary credentials (such as username and password or access token) to the Greennode AI Platform.
Ensure that the credentials are securely stored and provided in the required format.
Specify Access Port:
Define the port number through which you want to access the notebook instance.
Ensure that the port is accessible and not blocked by any firewall rules.
Specify Health-Check Port and Path:
Define the port number and path for the health-check endpoint of your notebook instance.
The health-check endpoint is used by the Greennode AI Platform to monitor the health status of the instance.
Ensure that the health-check port and path are correctly configured and accessible.
SSH Port Customization: Provide the desired port number when creating the notebook instance. This allows you to secure your instance further or avoid conflicts with other services.
Arguments and Commands
Click the "Create Instance" button to initialize your notebook instance with the specified configurations at the bottom right corner to complete the process.
Once created successfully, access your notebook instance with “Running” status from the Notebook Dashboard.
Click on the “Open Editor” option to use your selected Code Editor for coding. It enables the user to upload their data stored locally to their Notebook Instance Cloud Server. Understand more about our third-party code editor at https://jupyterlab.readthedocs.io/en/latest/
/workspace
directory within each Kubernetes Pod. This provides you with persistent storage for your data. However, if you use a Custom Image and place your code within the /workspace
directory of that image, this code will not be visible in the /workspace
directory of the running container when integrated into Kubernetes.Therefore, when building a Custom Image, please avoid placing code or important data directly in the /workspace
directory. You can create a different subdirectory (e.g., /app
or /code
) and place your code there to avoid conflicts with the PVC.