lnxbil / docker-machine-driver-proxmox-ve

Docker Machine driver for Proxmox VE
MIT License
220 stars 66 forks source link

Cloud init support #7

Closed cedvan closed 4 years ago

cedvan commented 5 years ago

Hi,

Thank you to this great work !

Would be great if we could send a cloud-init file to proxmox! Hard you think?

cf https://pve.proxmox.com/wiki/Cloud-Init_Support

lnxbil commented 5 years ago

Hi,

what would you like to send? Can you give me an example or use case?

cedvan commented 5 years ago

I want create VMs with cloud init support to configure like Rancher OS. cf. https://rancher.com/docs/os/v1.2/en/boot-process/cloud-init

lnxbil commented 5 years ago

Yes, I do know what cloud init does, but still: What do you want to configure, I want to have a real example and how you would like to configure it. PVE's cloud init support is very limited with respect what you can actually do with cloud init.

We discussed and tried Rancher OS already in #3 with the integration of the qemu agent and it worked.

alebeta90 commented 4 years ago

Hi @lnxbil

It would be interesting to be able to pass some information like, username,ssh-key,network config. In order to configure the machine before starting.

All the best

lnxbil commented 4 years ago

Setting this up will not be a huge problem, but what OS do you have in mind to use this with? I'm still struggling fixing that part in general.

lnxbil commented 4 years ago

I just released a new version including exclusive rancheros support and have a little spare time to work on this.

Can you please give me an actual use case with an OS that already include all the cloud-init stuff so that I "only" need to implement the driver part?

bemanuel commented 4 years ago

I came here looking about the usage of cloud-init on a VM different from RancherOS. My problem is, I want to deploy on demand a of VM with the basic system of gitlab-runner and docker. Because dind is a little slower and using a runner shell I cold improve my CI/CD speed.

lnxbil commented 4 years ago

Setting the cloud-init stuff is not the main problem, the OS part is: You would need to have an operating system that either runs completely from a live iso or some install stuff that uses cloudinit after booting.

In principle, it could be done. Currently, I don't have time to work on this, but patches are welcome (if I have time to merge them).

travisghansen commented 4 years ago

I have a PR that fully implements cloud-init support (along with many other improvements and fixes). I also have various scripts that can be used to generate the images required for standard OSes (CentOS, Ubuntu, Rancher OS) if anyone is interested. I've tested pretty thoroughly at this point so it would be good to get more test coverage if anyone is willing.

The general idea is you create a template which has qemu-guest-agent and cloud-init installed/configured properly, and then we use the clone functionality to build new VMs. It works both with shallow and full clones depending on your needs.

travisghansen commented 4 years ago

https://github.com/lnxbil/docker-machine-driver-proxmox-ve/pull/34

I can provide binaries if that's helpful..

lnxbil commented 4 years ago

So, merged and available in v4.