Deka GPU: VMs
VMs stands for Virtual Machines which is one of the Deka GPU Portal Services. Right now, Cloudeka service only support L40s GPU for Deka GPU: VMs ServiceThis guide will explain how to use a VM with an L40S GPU.
Download Kube Config
Click this link To go to the Deka GPU Portal Service Sign In page, log in using the admin user account that you have.
Select the project for which you want to download the kube configuration file.
You are redirected to the project page, press the Download button to download the kube configuration.
Wait until the kube configuration download is complete and available on your computer with the file name is kube-config.yaml.
Running Kube Config
Please note that to run kube configuration on your computer, make sure your computer has kubectl installed.
Kubectl is used to run various commands used to manage and operate a cluster including running applications, cluster resources, and viewing logs. You can install kubectl according to the operating system used.
Run the terminal/command prompt according to the operating system on your computer. If the terminal/command prompt page opens, enter this syntax.
If you use Windows Operating System.
If you use Linux Operating System.
Configuration file dv.yaml
The former dv.yaml is a file used to define a DataVolume that is responsible for managing persistent storage associated with a Pod or VM. Data Volume functions to manage how data is stored and read by applications in the Kubernetes cluster. In the terminal/command prompt that you are using, run the syntax according to the operating system that your computer is using. If the Windows operating system is used, you can use notepad++, or the text editor your computer uses. If the Linux operating system is used then use the following command.
or
Add source code for the dv.yaml file
The following is an explanation of the source code that will be used, so that it adapts to your needs.
Metadata Section
In the source code section, in the metadata section, there are names, namespaces and annotations. The name and namespace are the identities used to label the volume data that will be used, while the annotations are used to ensure that the Persistent Volume (PV) is immediately created and bound to the PVC as soon as the volume is requested without waiting for the Pod to start.
Adjust the name to the name of the data volume used, while in the namespace section adjust it to the namespace in vcluster which is used on the Deka GPU Portal Service.
Specs Seection
In the source code section in the specs section there is source and storage. The source code points to the Docker registry address used to create a VM disk with the Linux operating system, namely Ubuntu 22.04. In the source code storage there is storageClassName, accessModes, and resources.
The storageClassName is used to identify the storage class used, namely storage-nvme-c1, so it is necessary to adjust the storage package selected via the Deka GPU Portal Service. For accessModes, which determines the volume access mode used, namely ReadWriteMany, which allows many Pods or VMs to access the same volume simultaneously. Resources are used to describe the amount of storage that will be used, so it is necessary to adjust the amount of storage used accordingly rootdisk that you use in Deka GPU Portal Services.
To save changes made to the dv.yaml file if using the terminal on the Linux operating system
Configuration file vm.yaml
The former vm.yaml is a file used to define a Virtual Machine that is responsible for configuring a Virtual Machine (VM) running on Kubernetes, such as via KubeVirt. It contains information regarding VM specifications, such as CPU, memory, and type of operating system used. This ensures the VM is treated as one Kubernetes object that can be controlled and managed like a Pod. In the terminal/command prompt that you are using, run the syntax according to the operating system that your computer is using. If the Windows operating system is used, you can use notepad++, or the text editor your computer uses. If the Linux operating system is used then use the following command.
or
Add source code for the vm.yaml file.
The following is an explanation of the source code that will be used, so that it adapts to your needs.
Metadata Section
In the source code section, in the metadata section, there is the name and namespace. The name and namespace are the identities used to label the machine that will be used. Adjust the name to the name of the machine used, while in the namespace section adjust it to the namespace in vcluster which is used on the Deka GPU Portal Service.
Specs Section
The source code section in the specs section of the vm.yaml file is used to define the VM specifications that will be used. So there is some source code that must be adjusted.
In part kubevirt.io/domain in the specs make sure to use the name label that the svc.yaml file will use
In the domain section there are limits and requests. Adjust memory and CPU resources to the package used.
In the Volumes section there are configurations for containerdisk and cloudinitdisk. For the name on the contrainerdisk in the dataVolumes section, use the name entered in the name in the metadata section of the dv.yaml file. For the name in cloudinitdisk, in the password section, adjust the password that will be used to access the VM. In this line, to update the password that will be used, you simply change the sentence after “root:”. Because "root” is the username you will use to log in to the VM.
To save changes made to the vm.yaml file, use this command syntax if using the terminal on the Linux operating system.
Configuration file svc.yaml
The former svc.yaml is a file used for services that are responsible for managing applications running in Pods to the network, both internally in the cluster and externally. Services help in load balancing and allow Pods to communicate with each other or with applications from outside the cluster. In the terminal/command prompt that you are using, run the syntax according to the operating system that your computer is using.
or
Add source code for the svc.yaml file.
The following is an explanation of the source code that will be used, so that it adapts to your needs.
Metadata Section
In the source code section, in the metadata section, there is the name and namespace. The name and namespace are the identities used to label the service data that will be used. Give a name label with the name of the data service, while in the namespace section match the namespace in vcluster which is used on the Deka GPU Portal Service.
Specs Section
The source code section in the specs section of the svc.yaml file is used to define the service specifications that will be used. So there is some source code that must be adjusted.
What needs to be adjusted is in the section vm.kubevirt.io/name: in the selector section, enter the name in the metadata used in the vm.yaml file.
To save changes made to the svc.yaml file, use this command syntax if using the terminal on the Linux operating system
Last updated