Guide to the web platform
How to purchase a service on VKube
Signup/login VKube
Visit https://vkube.vcloud.systems (opens new window) to sign up as a first-time user. Accounts are IP-based, which means that new users will only need to set up a password and save the back-up seed phase displayed during registration.
Available services
As shown in the figure below, click on "Purchase", you can see all available services and place an order. Click order
button to go to purchase configuration.
Create your order
As shown in the figure below, you can choose your configuration in this page. Click Create Order
button to create an order, or click Add to Cart
button to add an order to shopping cart.
As shown in the figure below, users can check shopping list in shopping cart icon in the upper right corner.
Complete the payment
Click on "My Orders" to complete the payment of your service and start deploying your container. Click on Pay
button it will appear a payment dialogue, you can click the "Pay" button to complete the payment.
Payment dialogue
Review the order details and select the token you want to pay with (VSYS or USDV). And you also can use the third party payment.
Review your purchased services
Click on "My Services" on the left sidebar to view the services you have purchased. If you need to Refund
or Renew
the Service, please click on the corresponding buttons. Clicking on Token
button can copy the token.
How to use VKube services
VKube Dashboard
First, clicking on Token
button to copy the service token. Second, go to the "Container" sidebar to click on Import
and paste the token. Finally, click on Confirm
button and you will see the service detail. As shown in the figure below.
Please note that each service token corresponds to a container, and it is stored in the local cache. The service token will be erased once you empty the browser cache.
Adding or deleting service token won’t affect your service info or status.
Containers
As you can see, there are three areas in above picture.
First Area:
On the left, "Service ID" is used to search the service. "Container Status" is used as a condition to select matched services. On the right, Refresh
is to refresh the web page. Manage
has two function.ImageHub
is used to record the private ImageHub credentials information. Synchronize
is used to synchronize the pods from the remote server.
ImageHub
: Click theImageHub
button and click the "Save Account", it will appears a pop-up window as the follow picture. Select the different image libraries by the selection box and then fill in your account credentials. It can help you to avoid inputting the credentials when you deploy services.
Synchronize
: When you use another computer or different browsers to sign up the same account, you can't see the containers data via "Containers" aside. At this time, you can click theSynchronize
button and then you can see the same data.
Second Area:
This area is a table header. Each column represents a different meaning. "Service ID" refers to the number of the service created. "Label" is the description you label the service when after deploying it. "Container Status" refers to the status of the pod. "Service Status" refers to the status of the service. Under "Actions", you can find the Deploy
, Alias
, Contact
, Policy
, Delete
buttons:
Deploy
: If the container has not been deployed yet, theDeploy
button will be displayed. It will disappear once the container has been deployed.Alias
: It you want to update the service access port and alias the service name, you can use this button. Then in the same region, your services can access this service by aliasName:aliasPort.Contact
: For a certain service, after binding an email, when any abnormal situations occur with the service, relevant notifications will be sent. Notification message includes the service expired or Restart operation, etc. The binding of an email address can also be done on the user level. If you bind two emails at the same time, the difference between them are as follows. Suppose you have purchased three services, and one of them is bound to email A, while the user level is bound to email B, For the service bound to email A, related notifications will be sent to email A, and for the other two services, notifications will be sent to email B. As shown in the figure below, by clicking on the user's avatar, you can add and bind an email in the Account section.Policy
: The network policy acts as a whitelist , specifying which services can access your service within the same region. You can define rules that allow only particular services or those associated with specific accounts to make requests to your service. After clicking thePolicy
button, the next step is clicking the "Add Rules" button and then fill in the service ID which can access your service in the same region.Delete
: Delete the service token in the Local Storage. This will not impact the operation of the remote container. You can import it again by usingImport
button in area one.
Third Area:
You can click on the arrow on the left side of each row to view the corresponding details. As the follow picture shows:
Service Name
: Service name of the Container defined by the container creator.Created Time
: Time of order creationExpired Time
: Time at which the service expired time. If the expired time is displayed, then the container can’t be used any longer.Service Duration
: Total duration of the service.Address
: VSYS wallet address used to purchase the service.Recipient
: VSYS wallet address of the merchant providing the service (VKube by V Systems)Service Option
: Parameters of the container. This information is embedded inside a collapsing menu, accessible by clicking on the arrow icon besides the Service Options.Status
: Current service status, including "Pending", "Running", "CrashLoopBackOff" and so on.
Container status dialog
Display the status and information of all containers, including the past and current container status, configuration info, and current status
You can view the container Service ID in the dialog box. You can slide up, down, left, and right in the lower area to view the status information in json format
Deploy a container
After placing an order, the container status will be "Pending" and the Deploy
button will appear.
Start deploying your container,as shown in the figure below:
- First, choose your image which is from Dockerhub or Github
- Second, enter the image information. Currently, the supported images can be from dockerhub and GitHub. It supports public and private images.
Public images: For DockerHub, the recommended format is name:tag (e.g. nginx:latest). For Github, the recommended format is account name/image name:tag(e.g. john/redis:7.2.1).
Private images: For Dockerhub, the recommended format is account name/private repository:tag. For Github, the recommended format is account name/image name:tag. You also need to fill in the account and password. It is recommended to use a PAT(Personal Access Token) as the password. Before deployment, the corresponding image will be queried at the repository address, so you must ensure that the image with the corresponding tag is readable in the image repository. As shown in the figure below, the system will check image is existed or not.
3.Third, click the Deploy
button to deploy. Containers names must adhere to certain rules; they can include letters (a-z, A-Z), numbers (0-9), and hyphens (-), but can not start or end with a hyphen. The system will review each input before submitting the deployment request. Don't worry,the system will validate your input, as shown in the figure above.
Options:
- Add
Port
resource:- If you finish the configuration, port mapping between the host and the user’s container will be completed, allowing the user’s service to be accessed on the Internet via HostIP:hostPort.
- Click the “+Port” button to add container port and host port (which must be mapped one-to-one). The text below, 1 host port available, indicates the number of host ports that can still be added. The number of ports is determined by the Number Of Port setting in the Service Option. Users can use ports equal to or fewer than the specified Number Of Port. The system will check the availability of host port resources in the region, and if the entered port is occupied, users can input a new host port.
- Add
Configuration file
resource- The container service reads external configuration files, avoiding the need to rebuild the image when configuration changes are required, if the configuration file was included in the image.
- Click the
Add Config
button. In the configuration file edit popup, you need to fill in the configuration file name (including the absolute file path) under Config Path and the content under Config Content. Clicking the Confirm button will save the configuration file content to the path specified in the user’s container.
- Add
Environment Variable
resource- The
VKUBE
environment variable works the same as Linux environment variables, allowing you to set environment variables for the container at runtime. - Click the Environment Variables button to add environment variables for the container deployment: name and value.
- The
Advance
Command
: The concept is the same as the Command in Docker containers, allowing you to set commands to be executed when the container starts.Argument
: The concept is the same as Arguments in Docker containers, allowing you to set parameters to be executed when the container starts.
Once the container is successfully deployed, you will be able to perform the following functions: Restart
, Stop
, Config
, Redeploy
, Domain
, Contact
, Delete
Operating the container
As shown in the figure below, after the deployment is completed, the allowed operations on the container: Restart
, Stop
, Config
, Redeploy
, Domain
, Contact
, Delete
. The Notice
action area is some error message when the container is abnormal.
Restart
Click the Restart
button, the all containers belong this service will stop first, and then start again. After a restart, the previous container’s logs and other data will be deleted. If you want to prevent data from being deleted after a restart, you should use the Persistence
feature to persist data at a user-specified path.
Stop
Click the Stop
button, the all containers belong this service will be stopped. If you want to start again, you should click the Start
button. It should be noted that after the Stop operation, billing does not stop. For example, if you purchase a 2-hour service, it is successfully deployed at 8:00, and expires at 10:00. If you perform the Stop operation at 9:00, and then restart at 9:30, the expiration time will not be extended to 10:30, but remains at 10:00. It means that the "End Time" in the follow picture is unchanged. As shown in the figure below, the "End Time" is unchanged.
Config
Click the Config operation to modify the content of the container’s configuration files
and environment variables
.
- Users can select a specific configuration file from a container that they want to modify or view. Configuration files can be edited manually or by uploading a file. Note that the upload operation reads the file to the front end, and the configuration will only take effect after clicking the Confirm button.
- For manual configuration of environment variables, click
+
to add a configuration and-
to remove one. You can also choose to upload a file, as shown in the image below:
Redeploy
Redeploying means you can modify deployment information freely for a new deployment. The parameters have the same meaning as in Deploy. For example, if you initially deployed an Nginx service, you can deploy a Redis service during redeployment, following the same steps as the first time. Note that after redeploying, the logs of previously deployed containers will be deleted.
Domain
The domain service feature in VKUBE
requires users to configure their domain (e.g., A Record) to point to the nodeIP, which is the IP address of the machine hosting the user’s service. After completing this step, you can use VKUBE‘s domain service feature to proxy the user’s service. The configuration information is shown below, and once the setup is completed, users can access their deployed services on VKUBE
via their domain on the Internet.
Supported operations for container domain binding:
1.Add (supports multiple domain bindings): Establish a proxy relationship between the user service and user domain, allowing the user domain to access the service deployed on VKUBE
over the Internet. For the same service, if the user configures multiple domain mappings (e.g., A Record), multiple domains can be bound.
2.Unbind All
: Unbind all domains from VKUBE
at once. This only removes the proxy relationship between the user service and domain in VKUBE
, without affecting the user’s domain mapping configuration.
3.Unbind Single domain
Parameter Explanation:
Domain
: The user domain to be bound toVKUBE
, e.g., www.example.comContainer Port
: The port number the user’s container listens on, e.g., 80Letsencrypt
: Whether to use the free certificate generated by Letsencrypt provided byVKUBE
. If selected, the system will automatically apply for and bind the certificate.
Alias
The VKUNE
Alias feature allows users to assign an alias to their services. In the same region, different services can communicate with each other using this alias.
Parameter Explanation:
Alias
: Users can enter a custom or meaningful string as the service alias.Alias Port
: The port number associated with the alias, e.g., 80.Container Port
: The port number the user’s service listens on.Protocol
: The network protocol used by the service, either TCP or UDP.
Example:
Alias | mongo-url |
---|---|
Alias Port | 27017 |
container Port | 27017 |
Protocol | TCP |
Once the setup is completed, services within the same region on VKUBE can access the service using mongo-url:27017.
Note: If the user has deployed a web service, using the alias to access it in a browser (e.g., mongo-url:27017) will not work.
Contact
The VKUBE
Contact feature binds an email address to the user’s service. When there is an issue with the service, related notifications will be sent. Currently, it synchronizes with VKUBE
’s Notice
system. Any new information in Notice will be sent to the configured email if set.
Parameter Explanation:
Your Email address
: Users can enter their email address to serve as the contact for the service.Verification code
: The system will send a verification code to this email. The user needs to enter the code and click the Verify Code button to bind the email.
Delete
Clicking the Delete
button will remove the selected service from the current page. This action does not affect the server in any way; it only removes the visual information of the service from the user’s browser. To restore it, go to My Services
, copy the token, and then go to the My Containers page to Import
it again.
Policy
The VKUBE
Policy feature provides a whitelist mechanism to control access permissions between different services. Once created, all requests to the service will be restricted except those from services specified in the whitelist. For example, if you create an empty whitelist, no services will be able to access the user’s service.
Operation Procedure:
1.Click the Policy
button, then click Add Rules
. Under Add Rules, there are three options:
Single Service
: Enter the User Service ID to allow this service ID to access the service with the applied Policy.Services of Owner
: Enter the Address to allow a group of services owned by this Address to access the service with the applied Policy.Specific Service of Owner
: Enter both the User Service ID and Address to allow a specific service ID and Address to access the service with the applied Policy.
2.After configuring, click Confirm. In the main configuration window, you’ll see the newly added information. If you’d like to add more rules, click Add Rules
again. Once everything is correct, click the Create Policy
button to complete the creation of the Policy.
3.You can also create a Policy without adding any rules, which will block all services from accessing the user’s service.
Notice
The VKUBE
Notice feature allows users to view service status notifications, such as Out Of Memory events or service expiration reminders. If the user has linked an email, the system will automatically send these notifications to the email. As shown in the image below:
Single Container Operation
Clicking the downward-facing triangle on the right side of Containers will bring up a popup window displaying the list of containers that the service is actually deployed on. For each container, there are three actions: Log
, Monitor
, and Upgrade
, as shown in the figure below.
Log
Click the Log
button to view the log of the container. You should fill in start time and end time and then click on Search
button to see the logs. You can click on Reset
button if you want to clear the logs.
Tail Lines
: Default is 10, representing the number of log lines displayed to the user.Follow
: Default is unchecked. If selected, it will continuously follow log changes, disregarding the line limitLog time range
: Default is empty, allowing the user to select a time range for the logs to be displayed.Reset
: Clicking the Reset button will clear the log content.
Monitor
Monitor
button allows you to view information such as the memory and CPU usage of the current container. As shown in the figure below.
Upgrade
Clicking the Upgrade
button allows you to update the image.
Please note:
Upgrading
will restart your service, so proceed with caution.Upgrading
the image involves a version update of the same image. For example, if you’re running an Nginx image, the update must also be an Nginx image, just a different version.- For private images, you still need to provide your account and password. Please refer to the deployment steps above.