Virtual Machine
Azure Virtual Machines provide scalable computing resources in the cloud, enabling you to host your applications and workloads on Windows or Linux servers.
Example yaml file:
apiVersion: azure.boundless.software/v1alpha1
kind: VirtualMachine
metadata:
name: vm-sample
spec:
provider:
region: "eastus"
resourceGroup: "my-resource-group"
vmImageSpec:
publisher: "Canonical"
offer: "UbuntuServer"
sku: "18.04-LTS"
version: "latest"
osProfileSpec:
adminUsername: "azureuser"
adminPassword: "Password123!"
sshPublicKey: "ssh-rsa AAAA..."
hardwareSpec:
vmSize: "Standard_DS2_v2"
networkingSpec:
createPublicIP: true
subnetId: "/subscriptions/.../subnets/my-subnet"
loadBalancerBackendAddressPoolIds:
- "/subscriptions/.../backendAddressPools/my-pool"
diskSpec:
osDiskSize: 128
caching: "ReadWrite"
storageAccountType: "Premium_LRS"
dataDisks:
disk1:
size: 256
caching: "None"
storageAccountType: "Premium_LRS"
availabilityZone: 1
tags:
environment: "production"
Name | Type | Description |
---|
provider* | AzureProviderSpec | The provider for the VirtualMachine resource. |
resourceGroup* | string | The resource group for the VirtualMachine resource. |
vmImageSpec* | VMImageSpec | The VM image spec for the VirtualMachine resource. |
osProfileSpec* | OSProfileSpec | The OS profile for the VirtualMachine resource. |
hardwareSpec* | HardwareSpec | The hardware spec for the VirtualMachine resource. |
networkingSpec | VMNetworkingSpec | The networking for the VirtualMachine resource. |
availabilityZone | int32 | The availability zone (1-3) for the VirtualMachine resource. |
availabilitySetId | string | The availability set ID for the VirtualMachine resource. |
diskSpec | DiskSpec | The OS disk for the VirtualMachine resource. |
tags | map[string]*string | The tags for the VirtualMachine resource. |
VMImageSpec
Name | Type | Description |
---|
offer* | string | The offer for the VirtualMachine resource. |
publisher* | string | The publisher for the VirtualMachine resource. |
sku* | string | The sku for the VirtualMachine resource. |
version* | string | The version for the VirtualMachine resource. |
OSProfileSpec
Name | Type | Description |
---|
adminUsername* | string | The admin username of the VirtualMachine resource. |
adminPassword* | string | The admin password of the VirtualMachine resource. |
sshPublicKey | string | The SSH key data for the VirtualMachine resource. |
HardwareSpec
Name | Type | Description |
---|
vmSize* | string | The VM size for the VirtualMachine resource. |
VMNetworkingSpec
Name | Type | Description |
---|
loadBalancerBackendAddressPoolIds | []string | The load balancer backend address pool IDs for the VirtualMachine resource. |
createPublicIP | bool | Whether to create a public IP for the VirtualMachine resource. |
subnetId | string | The subnet ID for the VirtualMachine resource. |
networkInterfaceId | string | The network interface ID for the VirtualMachine resource. |
OSDiskEncryptionSpec
Name | Type | Description |
---|
encryptionVaultId | string | The encryption key ID for the VirtualMachine resource. |
secretId | string | The secret ID for the VirtualMachine resource. |
DataDiskSpec
Name | Type | Description |
---|
diskId | string | The disk ID for the VirtualMachine resource. Only required when attaching an existing disk. |
size* | int32 | The size of the data disk for the VirtualMachine resource. |
caching | string | The caching of the data disk for the VirtualMachine resource (None/ReadOnly/ReadWrite). |
storageAccountType | string | The storage account type for the VirtualMachine resource. |
DataDiskStatus
Name | Type | Description |
---|
size | int32 | The size of the data disk for the VirtualMachine resource. |
id | string | The ID of the data disk for the VirtualMachine resource. |
caching | string | The caching of the data disk for the VirtualMachine resource. |
lun | int32 | The LUN of the data disk for the VirtualMachine resource. |
ImageStatus
Name | Type | Description |
---|
offer | string | The offer of the VirtualMachine resource. |
publisher | string | The publisher of the VirtualMachine resource. |
sku | string | The sku of the VirtualMachine resource. |
version | string | The version of the VirtualMachine resource. |
OSDiskStatus
Name | Type | Description |
---|
size | int32 | The size of the OS disk for the VirtualMachine resource. |
id | string | The ID of the OS disk for the VirtualMachine resource. |
caching | string | The caching of the OS disk for the VirtualMachine resource. |
VMNetworkingStatus
Name | Type | Description |
---|
publicIpAddress | string | The public IP address of the VirtualMachine resource. |
subnetId | string | The subnet ID of the VirtualMachine resource. |
networkInterfaceId | string | The network interface ID of the VirtualMachine resource. |
loadBalancerBackendAddressPoolIds | []string | The load balancer backend address pool IDs for the VirtualMachine resource. |
Outputs
Name | Type | Description |
---|
condition | metav1.Condition | The condition of the VirtualMachine resource. |
name | string | The name of the VirtualMachine resource. |
location | string | The location of the VirtualMachine resource. |
id | string | The ID of the VirtualMachine resource. |
vmSize | string | The VM size of the VirtualMachine resource. |
networking | VMNetworkingStatus | The networking status of the VirtualMachine resource. |
dataDisks | map[string]*DataDiskStatus | The data disks status for the VirtualMachine resource. |
image | ImageStatus | The image status for the VirtualMachine resource. |
osDisk | OSDiskStatus | The OS disk status for the VirtualMachine resource. |