Upgrade to Pro — share decks privately, control downloads, hide ads and more …

No Parachute Introduction into Unikernel Orchestration

B3860e5f7d69df921650d2263ea047fd?s=47 Ian Eyberg
October 21, 2016

No Parachute Introduction into Unikernel Orchestration

This set of slides gives a gentle introduction into running unikernels and implications thereof, especially on macs. The talk is intended to encourage new tooling/development in the ecosystem targeted towards those who might not be familiar with vms or hypervisors.

B3860e5f7d69df921650d2263ea047fd?s=128

Ian Eyberg

October 21, 2016
Tweet

Transcript

  1. A No Parachute Introduction to Unikernel Orchestration

  2. Teach Tool Grow

  3. github.com/ deferpanic/ virgo By the end of the talk attendees

    should feel comfortable in writing tools to interact with unikernels like testing/ system administration/ volume manipulation and more.
  4. NO

  5. Talking orchestration - not compiling - that's it's own little

    ball of shit.
  6. Progrommatic Hypervisor Usage

  7. debugging networking volume manipulation higher level service orchestration why

  8. Just use qemu!

  9. dev test staging production automated repeatable fast painless

  10. hypervisors qemu/kvm virtualbox xhyve

  11. manageability

  12. None
  13. higher level orchestration

  14. service discovery

  15. load balancing

  16. resource aware scheduling 8 cores 32G 4 cores 16G 2

    cores 8G
  17. deploying

  18. None
  19. fail-over

  20. None
  21. "kernels" multiboot or disk image

  22. egrep '(vmx|svm)' /proc/ cpuinfo

  23. hypervisor situation on osx

  24. None
  25. L2 —> L7

  26. networking

  27. There’s no place like 127.0.0.1 host only

  28. None
  29. nat

  30. ip forwarding

  31. http://downloads.sourceforge.net/ tuntaposx/tuntap_20150118.tar.gz sudo kextstat | grep tap tuntap

  32. pfctl nat on en0 from $1:network to any -> (en0)

  33. network isolation

  34. routing root@host:/# arp -a ? (10.0.84.32) at 52:54:00:e0:af:dc [ether] on

    br5 ? (172.16.1.4) at 00:22:19:5a:34:87 [ether] on eno2 ? (172.16.1.2) at 14:fe:b5:d1:a0:c1 [ether] on eno2 ? (10.0.86.165) at 52:54:00:84:62:f7 [ether] on br86 ? (10.0.85.176) at 52:54:00:ea:56:ae [ether] on br9 ? (10.0.85.96) at 52:54:00:c0:a7:35 [ether] on br9 ? (10.0.88.236) at 52:54:00:d1:3c:fe [ether] on br88 ? (172.16.1.3) at f0:4d:a2:0b:fe:bc [ether] on eno2 ? (172.16.1.5) at 00:21:9b:90:50:2c [ether] on eno2
  35. ethernet vs wireless

  36. S S L

  37. dns

  38. dnsmasq dns dhcp bridges

  39. volumes

  40. filesystems

  41. Immutable

  42. Mutable TMP FILES DATABASE …

  43. Mounting FileSystems

  44. Single Volume?

  45. Multiple Volumes? Maybe interpreted language don’t have to rebuild base

    kernel each deploy? Maybe want to dynamically attach/ de-tach volumes for configuration?
  46. Base Volume

  47. Volume Copies persistence live migration …..

  48. e2fs hdiutil osx-fuse

  49. [~] $ mkfs

  50. logs

  51. STDOUT - stream 1 or STDERR - stream 2

  52. Remote Syslog

  53. Block Device

  54. serial -serial file:/tmp/ bobs_awesome_unikernel.log

  55. T E S T I N G L O L