Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cloud this support kubernetes volume? #11

Open
Crazykev opened this issue Jun 7, 2017 · 3 comments
Open

Cloud this support kubernetes volume? #11

Crazykev opened this issue Jun 7, 2017 · 3 comments

Comments

@Crazykev
Copy link

Crazykev commented Jun 7, 2017

Hi @miha-plesko @gberginc,
After look through all the demo description, I didn't find anything about kubernetes volume. Many key concept(such as secret, configmap, user volume, even resolv.conf) rely on this. AFAICT, unikernel doesn't support bind mount host directory into VM, so is this solved or you've workaround for this? Thanks.

@miha-plesko
Copy link
Contributor

Hello @Crazykev , thanks for opening this question. Quick answer to your question is: volume mounting on Kubernetes should be supported soon, but we haven't looked at it yet.

In general OSv unikernel supports attaching volume as we've already tested it on OpenStack the other day. Furthermore, OSv unikernel does support clud-init paradigm (NoCloud CloudInit* and OpenStack CloudInit), which was also tested on OpenStack.

* NoCloud CloudInit that OSv can use must be slightly customized than the official NoCloud CloudInit since OSv currently does not support iso9660 filesystem.

However, since the Virtlet runtime that we're using to run OSv unikernels only recently added support for attaching volumes and NoCloud clud-init paradigm, we didn't have chance to verify yet how it works out for OSv unikernels. But let me share you my expectations:

  • volume mounting: should work out of the box, but don't forget that your volume must be ZFS-formatted if you want OSv to be able to see files. Also, it might cause us some troubles since hot-mounting is not supported yet for OSv, so we hope the mounting is performed prior unikernel is booted. If not, some customization of either Virtlet either OSv kernel will be needed.

  • cloud-init support: since Virtlet currently supports only NoCloud CloudInit, we expect it to not work out of the box for OSv unikernel. We are hoping that Virtlet will support also OpenStack CloudInit because in this case it will just work for OSv without any customizations.

Please let me know if this answers your question.

@gberginc
Copy link
Member

gberginc commented Jun 7, 2017

Thanks for summarising @miha-plesko.

We are currently working on adding support for NoCloud cloud-init based on ISO because this will simplify the integration into other platforms as well (for example, the HPC environment we are using it in also relies on this approach). Shouldn't be a problem.

Adding external volumes should be possible, but they have to be provided to the VMs as images (e.g. qcow2, raw) and not mounted as directories from the host (I think OSv currently does not support this). This should be part of the libvirt domain config that's built by Virtlet, which will then also allow OSv to see it as a device while booting. ZFS requirement is a bit more cumbersome, but currently OSv only supports this filesystem.

@resouer
Copy link

resouer commented Jun 13, 2017

@miha-plesko @gberginc Nice post! So what do you think is the typical case for Kubernetes + Unikernels in your mind? Should volume support play the role as in the normal container use cases?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants