NutanixMachineTemplate¶
The NutanixMachineTemplate
resource defines the configuration of a CAPX Kubernetes VM.
Example of a NutanixMachineTemplate
resource.
apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
kind: NutanixMachineTemplate
metadata:
name: "${CLUSTER_NAME}-mt-0"
namespace: "${NAMESPACE}"
spec:
template:
spec:
providerID: "nutanix://${CLUSTER_NAME}-m1"
# Supported options for boot type: legacy and uefi
# Defaults to legacy if not set
bootType: ${NUTANIX_MACHINE_BOOT_TYPE=legacy}
vcpusPerSocket: ${NUTANIX_MACHINE_VCPU_PER_SOCKET=1}
vcpuSockets: ${NUTANIX_MACHINE_VCPU_SOCKET=2}
memorySize: "${NUTANIX_MACHINE_MEMORY_SIZE=4Gi}"
systemDiskSize: "${NUTANIX_SYSTEMDISK_SIZE=40Gi}"
image:
type: name
name: "${NUTANIX_MACHINE_TEMPLATE_IMAGE_NAME}"
cluster:
type: name
name: "${NUTANIX_PRISM_ELEMENT_CLUSTER_NAME}"
subnet:
- type: name
name: "${NUTANIX_SUBNET_NAME}"
# Adds additional categories to the virtual machines.
# Note: Categories must already be present in Prism Central
# additionalCategories:
# - key: AppType
# value: Kubernetes
# Adds the cluster virtual machines to a project defined in Prism Central.
# Replace NUTANIX_PROJECT_NAME with the correct project defined in Prism Central
# Note: Project must already be present in Prism Central.
# project:
# type: name
# name: "NUTANIX_PROJECT_NAME"
# gpus:
# - type: name
# name: "GPU NAME"
NutanixMachineTemplate spec¶
The table below provides an overview of the supported parameters of the spec
attribute of a NutanixMachineTemplate
resource.
Configuration parameters¶
Key | Type | Description |
---|---|---|
bootType | string | Boot type of the VM. Depends on the OS image used. Allowed values: legacy , uefi . Default: legacy |
vcpusPerSocket | int | Amount of vCPUs per socket. Default: 1 |
vcpuSockets | int | Amount of vCPU sockets. Default: 2 |
memorySize | string | Amount of Memory. Default: 4Gi |
systemDiskSize | string | Amount of storage assigned to the system disk. Default: 40Gi |
image | object | Reference (name or uuid) to the OS image used for the system disk. |
image.type | string | Type to identify the OS image. Allowed values: name and uuid |
image.name | string | Name of the image. |
image.uuid | string | UUID of the image. |
cluster | object | (Optional) Reference (name or uuid) to the Prism Element cluster. Name or UUID can be passed |
cluster.type | string | Type to identify the Prism Element cluster. Allowed values: name and uuid |
cluster.name | string | Name of the Prism Element cluster. |
cluster.uuid | string | UUID of the Prism Element cluster. |
subnets | list | (Optional) Reference (name or uuid) to the subnets to be assigned to the VMs. |
subnets.[].type | string | Type to identify the subnet. Allowed values: name and uuid |
subnets.[].name | string | Name of the subnet. |
subnets.[].uuid | string | UUID of the subnet. |
additionalCategories | list | Reference to the categories to be assigned to the VMs. These categories already exist in Prism Central. |
additionalCategories.[].key | string | Key of the category. |
additionalCategories.[].value | string | Value of the category. |
project | object | Reference (name or uuid) to the project. This project must already exist in Prism Central. |
project.type | string | Type to identify the project. Allowed values: name and uuid |
project.name | string | Name of the project. |
project.uuid | string | UUID of the project. |
gpus | object | Reference (name or deviceID) to the GPUs to be assigned to the VMs. Can be vGPU or Passthrough. |
gpus.[].type | string | Type to identify the GPU. Allowed values: name and deviceID |
gpus.[].name | string | Name of the GPU or the vGPU profile |
gpus.[].deviceID | string | DeviceID of the GPU or the vGPU profile |
Note
The cluster
or subnets
configuration parameters are optional in case failure domains are defined on the NutanixCluster
and MachineDeployment
resources.