2.3. Create an instance type
In this section, we will create and use our own instance type.
Task 2.3.1: Create your own instance type
In the previous section we have seen that the Cirros preference requests 256Mi of memory. However, the smallest instance type available requests 512Mi of memory. In order to adapt to this, let’s create our own instance type and assign it to our VirtualMachines.
Define the following instance type:
- Request 256Mi of memory
- Reduce the overcommit percentage from 50% to 25%
- Name the resource
lab03-o1-pico
Task hint
Create the following resource using the import YAML functionality of the OpenShift Web Console:
Your instance type should look like this (labels and annotations are optional):
apiVersion: instancetype.kubevirt.io/v1beta1
kind: VirtualMachineInstancetype
metadata:
name: lab03-o1-pico
annotations:
instancetype.kubevirt.io/description: |-
The O Series is based on the U Series, with the only difference
being that memory is overcommitted.
*O* is the abbreviation for "Overcommitted".
instancetype.kubevirt.io/displayName: General Purpose
labels:
instancetype.kubevirt.io/class: general.purpose
instancetype.kubevirt.io/cpu: "1"
instancetype.kubevirt.io/icon-pf: pficon-server-group
instancetype.kubevirt.io/memory: 256Mi
instancetype.kubevirt.io/vendor: kubevirt-basics-training
instancetype.kubevirt.io/version: "1"
spec:
cpu:
guest: 1
memory:
guest: 256Mi
overcommitPercent: 25
And verify whether the creation was successful:
oc get vmf lab03-o1-pico --namespace lab-<username>
Task 2.3.2: Create your own instance type with virtctl
The virtctl tool is also capable of creating instance types. You can define and create a similar instance type u1.pico with:
virtctl create instancetype --namespaced --cpu 1 --memory 256Mi --name lab03-u1-pico --namespace lab-<username> | oc create --namespace lab-<username> -f -
Show the created instance type with:
oc get vmf lab03-u1-pico -o yaml --namespace lab-<username>
The output will be similar to this one:
apiVersion: instancetype.kubevirt.io/v1beta1
kind: VirtualMachineInstancetype
metadata:
creationTimestamp: "2024-09-25T09:25:35Z"
generation: 1
name: lab03-u1-pico
namespace: lab-<username>
resourceVersion: "55713159"
uid: 14d414b7-b1f8-4b0d-af48-fb84340545c9
spec:
cpu:
guest: 1
memory:
guest: 256Mi