1
1
# Proxmox Virtual Environment
2
2
3
+ ## State of the implementation
4
+
5
+ Support for Proxmox as a provider in the machine-controller is currently just a technical demo. It
6
+ is possible to create MachineDeployments using manually created VM templates as demonstrated below.
7
+ In this example the VM template is using local storage, which is why this template can only be
8
+ cloned on the same node it is located at.
9
+
3
10
## Prerequisites
4
11
5
12
### Authentication
@@ -38,12 +45,12 @@ For the provider to properly function the user needs an API token with the follo
38
45
### Cloud-Init enabled VM Templates
39
46
40
47
Although it is possible to upload Cloud-Init images in Proxmox VE and create VM disks directly from
41
- these imgages via CLI tools on the nodes directly, there is no API endpoint yet to provide this
48
+ these images via CLI tools on the nodes directly, there is no API endpoint yet to provide this
42
49
functionality externally. That's why the ` proxmox ` provider assumes there are VM templates in place
43
50
to clone new machines from.
44
51
45
- Proxmox recommends to use either ready-to-use Cloud-Init images provided by many Linux distributions
46
- (mostly designed for OpenStack) or to prepare the images yourself as you have full controll over
52
+ Proxmox recommends using either ready-to-use Cloud-Init images provided by many Linux distributions
53
+ (mostly designed for OpenStack) or to prepare the images yourself as you have full control over
47
54
what's in these images.
48
55
49
56
For VM templates to be available on all nodes, they need to be added to the ` ha-manager ` .
@@ -59,7 +66,7 @@ qm create $INSTANCE_ID -name ubuntu-18.04-LTS
59
66
qm importdisk $INSTANCE_ID bionic-server-cloudimg-amd64.img local-lvm
60
67
# Set the imported Disk as SCSI drive.
61
68
qm set $INSTANCE_ID -scsihw virtio-scsi-pci -scsi0 local-lvm:vm-$INSTANCE_ID -disk-0
62
- # Create the cloud-init drive where the userdata is read from.
69
+ # Create the cloud-init drive where the user-data is read from.
63
70
qm set $INSTANCE_ID -ide2 local-lvm:cloudinit
64
71
# Boot from the imported disk.
65
72
qm set $INSTANCE_ID -boot c -bootdisk scsi0
@@ -75,13 +82,13 @@ qm template $INSTANCE_ID
75
82
ha-manager add vm:$INSTANCE_ID -state stopped
76
83
```
77
84
78
- ### Cloud-Init userdata
85
+ ### Cloud-Init user-data
79
86
80
87
Proxmox currently does not support the upload of "snippets" via API, but these snippets are used for
81
- cloud-init userdata which are required for the machine-controller to function. This provider
82
- implementation needs to copy the generated userdata yaml file to every proxmox node where a VM is
88
+ cloud-init user-data which are required for the machine-controller to function. This provider
89
+ implementation needs to copy the generated user-data yaml file to every proxmox node where a VM is
83
90
created or migrated to.
84
91
85
- * A storage needs to ne enabled for content ` snippets ` (e.g. ` local ` )
86
- * SSH private key of a user that exists on all nodes and has write permission to the path were
92
+ * A storage needs to be enabled for content ` snippets ` (e.g. ` local ` )
93
+ * SSH private key of a user that exists on all nodes and has write permission to the path where
87
94
snippets are stored (e.g. ` /var/lib/vz/snippets ` )
0 commit comments