I'm working in an education environment, and there is need for a subset of students to be able to create and destroy VM's and their OSes as required. There is a whole lot of context here that I'll skip over, but ultimately I've been looking at setting up a well resourced box that they can have control over and configure a self-service system of some kind.
Currently, I've been playing around with a proxmox host running a virtualized pfSense firewall (this both segments the local network and creates an isolated vLan that they can use as a playground), with a virtualized MaaS controller. In this case, students can get in, blow away an OS and start again if needed. For that, MaaS works very well, but does require that I manually create a target VM in the first place, which can then boot and self register with the MaaS controller.
Ultimately, I'd like students to create their own VM's in a true self-service fashion, but MaaS doesn't support this via it's own interface and I'm reluctant to open up the Proxmox webgui as it will show supporting VM's for the box. I've not wanted to introduce lots of different interfaces, processes or technologies that they'd have to learn, but ultimately, it looks like I'll have to introduce something new, and this is where I've gotten a bit stuck. There are endless options available - terraform, ansible, multipass - some that look to play nice with with proxmox and some that do not, but it's a challenging and dense discovery process that I'm starting to struggle with as I journey down each rabbit hole. I'm now starting to think even a bare-metal MaaS install with Juju deploying an Openstack environment could be a winner (at least there's some documentation around for it, and I can get more boxes if needed), but that totally dismisses what I've already done and introduces a few new issues to deal with.
I'm starting to ramble now, but was curious if anyone had any advice / opinions / general commentary on this one? Perhaps I've gone about it wrong from the start, or maybe there is a neat solution I haven't discovered yet. I'd expect an on-prem self service solution to be common in the DevOPs world, although I understand the level of developer skill makes things a little easier when designing solutions.
Currently, I've been playing around with a proxmox host running a virtualized pfSense firewall (this both segments the local network and creates an isolated vLan that they can use as a playground), with a virtualized MaaS controller. In this case, students can get in, blow away an OS and start again if needed. For that, MaaS works very well, but does require that I manually create a target VM in the first place, which can then boot and self register with the MaaS controller.
Ultimately, I'd like students to create their own VM's in a true self-service fashion, but MaaS doesn't support this via it's own interface and I'm reluctant to open up the Proxmox webgui as it will show supporting VM's for the box. I've not wanted to introduce lots of different interfaces, processes or technologies that they'd have to learn, but ultimately, it looks like I'll have to introduce something new, and this is where I've gotten a bit stuck. There are endless options available - terraform, ansible, multipass - some that look to play nice with with proxmox and some that do not, but it's a challenging and dense discovery process that I'm starting to struggle with as I journey down each rabbit hole. I'm now starting to think even a bare-metal MaaS install with Juju deploying an Openstack environment could be a winner (at least there's some documentation around for it, and I can get more boxes if needed), but that totally dismisses what I've already done and introduces a few new issues to deal with.
I'm starting to ramble now, but was curious if anyone had any advice / opinions / general commentary on this one? Perhaps I've gone about it wrong from the start, or maybe there is a neat solution I haven't discovered yet. I'd expect an on-prem self service solution to be common in the DevOPs world, although I understand the level of developer skill makes things a little easier when designing solutions.