To create a service, you'll need to provide the following initial information:
Service Name: A descriptive name for your service, used during instance creation and deployment.
Description: A concise summary of the service, displayed when users select service types.
Additional Information: A more detailed explanation of the service, including usage instructions, available after deployment. This field supports markup.
Core Service Settings
The core settings for your service include:
Service Type: Choose from CPU Only, CPU + GPU (for GPU Passthrough), or CPU + GPUaaS (for GPUaaS Pools).
Recipe: Specify an Ansible playbook to automate post-deployment tasks. A list of available recipes is managed via the Admin Panel and regularly synced.
Chargeable?: Indicate whether this service can incur costs, defined in pricing policies.
Enable Service?: Determine if the service should be immediately available or initially disabled.
Default Settings and Options
You can also define default settings to streamline the instance creation process:
Default Instance Type: Pre-select an instance type; this can be locked and hidden.
Default Storage Block: Pre-select a storage block; this can be locked and hidden.
Default Image: Pre-select an OS image; this can be locked and hidden.
Network, Disk, and Image Compatibility
Configure network, disk, and image compatibility settings:
Auto Assign Networks: If enabled, automatically assigns a public network and IPv4.
Allow Additional Disks: If enabled, allows adding up to two additional disks during instance creation.
Compatible Image Distros: Specify OS distributions compatible with this service.
Incompatible Images: List images (from compatible distributions) that cannot be used with this service.
Scenarios, Images, and Tags
Associate your service with scenarios, images, and tags:
Select Scenario(s): Assign the service to one or more service scenarios.
Upload Image: Link an image to the service, used during service selection.
Choose Tags: Add tags to filter services during instance creation.
GPU Configuration (Passthrough and GPUaaS)
For GPU-related services, configure the following:
GPU Passthrough:
Default GPU Card: Set a default GPU card; this can be locked and hidden.
Compatible GPU Vendors: Specify compatible GPU card vendors (currently only Nvidia).
Incompatible GPU Types: List incompatible GPU cards from compatible vendors.
GPUaaS:
Skip GPU Pools During Creation: If enabled, deploys the instance without a GPU pool attached.
Default GPUaaS Pool: Set a default GPU pool per region; this can be locked and hidden.
Create a New Service Walkthrough
To begin, locate the Services Table on the user panel and click the Create Service button.
Enter the Service Name and Description.
For this example, we are using "cPanel" for the Service Name and "cPanel latest version" for the Description. Click Next Stage to proceed to the next step.
Service Details and Functions
Select the desired Service Type from the dropdown menu.
For this example, we are selecting CPU only. Choose a Recipe if needed. For this example, we are selecting "cPanel plus 3HM local (Ansible playbook)". Select Yes for Chargeable and No for Enable vm creation using the radio buttons. Click Next to continue.
Default Settings
Choose the Default instance type from the dropdown menu.
Select the instance size that fits your needs. If the instance type is set to Read Only, it cannot be changed. Choose the Default storage block, which dictates data storage size and access permissions. Similarly, the Default image determines the operating system, and if set to Locked, it cannot be altered. Click Next to continue.
Network Settings
Select Public to auto-assign public IP addresses to the instances.
Click Next.
Storage Disks
Select New disk to allow users to add a new disk during instance creation.
Click Next.
Compatible and Incompatible Settings
If the default image is not locked, use the Compatible images and Incompatible images dropdowns to specify allowed and disallowed images (operating systems) for this service.
For example, you might specify "Ubuntu" as compatible and "Ubuntu 20.04" as incompatible. Click Next when finished.