Auteur Sujet: VM incompatible docker  (Lu 5426 fois)

0 Membres et 1 Invité sur ce sujet

vivien

  • Administrateur
  • *
  • Messages: 47 081
    • Twitter LaFibre.info
VM incompatible docker
« le: 24 septembre 2015 à 21:22:50 »
L'avantage du nouveau VPS SSD d'OVH est que contrairement a l'ancien il est compatible Docker (containers) et ce pour moins de 5€/mois. Pour du tests ou du dev c'est idéal.

J'attend toujours une offre 'pure Docker' ou on 'loue' le fait de faire tourner des containers. Pour l'instant c'est 'timide', https://giantswarm.io et https://www.tutum.co/ sont emblématiques de ca mais toujours en beta. Online et OVH avancent plus que timidement la dessus.

Mais meme un Google peut intéresser un particulier ou une TPE avec son offre Cloud facturée a la demande (pour Docker leur offre est gratuite jusqu'a 5 noeuds mais il faut payer les VM qu'il y a derrière ca).
Quels facteurs rendent un VM incompatible docker ?

Le manque de la technologie Intel Virtualization VT-x ?

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 078
  • Paris (75)
VM incompatible docker
« Réponse #1 le: 24 septembre 2015 à 23:38:46 »
Quels facteurs rendent un VM incompatible docker ?

Le manque de la technologie Intel Virtualization VT-x ?

pour faire simple: les 'vm' qui utilisent deja la meme techno d'isolation que les containers: les cgroups du Linux kernel.
Parmis le 'vm' de ce style il a OpenVZ notamment.

VT-x c'est plus bas niveau.Mais Intel a des projets concernant les containers.

vivien

  • Administrateur
  • *
  • Messages: 47 081
    • Twitter LaFibre.info
VM incompatible docker
« Réponse #2 le: 25 septembre 2015 à 08:49:42 »
De mon coté, j'utilise LibVirt / Qemu pour mes VM, j'imagine que c'est incompatible Docker, non ?

$ virsh version
Compiled against library: libvirt 1.2.12
Using library: libvirt 1.2.12
Utilisation de l'API : QEMU 1.2.12
Exécution de l'hyperviseur : QEMU 2.2.0

Dans les flags du CPU, je perds "vmx" dans la VM, donc la capacité à virtualiser, non ?

CPU de l'hôte :  (vmx présent)
$ cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 42
model name      : Intel(R) Xeon(R) CPU E31230 @ 3.20GHz
stepping        : 7
microcode       : 0x29
cpu MHz         : 1643.000
cache size      : 8192 KB
physical id     : 0
siblings        : 8
core id         : 0
cpu cores       : 4
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm ida arat epb pln pts dtherm tpr_shadow vnmi flexpriority ept vpid xsaveopt
bugs            :
bogomips        : 6385.23
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:


CPU de la VM :  (vmx absent)
$ cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 42
model name      : Intel Xeon E312xx (Sandy Bridge)
stepping        : 1
microcode       : 0x1
cpu MHz         : 3192.746
cache size      : 4096 KB
physical id     : 0
siblings        : 1
core id         : 0
cpu cores       : 1
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx rdtscp lm constant_tsc rep_good nopl eagerfpu pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx hypervisor lahf_lm xsaveopt
bugs            :
bogomips        : 6385.49
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual


Dans les deux cas, c'est un OS Ubuntu 15.04 64bits (Linux 3.19)

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 078
  • Paris (75)
VM incompatible docker
« Réponse #3 le: 25 septembre 2015 à 09:19:21 »
De mon coté, j'utilise LibVirt / Qemu pour mes VM, j'imagine que c'est incompatible Docker, non ?
...

Le flag vmx  cpu n'a rien a voir avec Docker. Ca c'est pour de la "Hardware-assisted virtualization" facon VMWare et KVM par exemple.

Libvirt c'est juste une lib et Qemu un emulateur. Ton hyperviseur c'est KVM je présume ? (qui lui nécessite un cpu compatible).

Les containers facon Docker c'est autre chose et pas au meme niveau donc ca peut eventuellement marcher dans tes VM, notamment celles sur un hyperviseur de type 1 voir meme de type 2.



apres ca evolue tout le temps et d'ailleurs on commence a mélanger tout ca et faire tourner des VMs dans des containers qui tournent dans des VMs...

Oxynux

  • Abonné Bbox fibre
  • *
  • Messages: 347
  • FTTH ↓1Gb/s ↑250Mb/s sur Paris 16 (75)
VM incompatible docker
« Réponse #4 le: 25 septembre 2015 à 14:23:55 »
En gros : esxi/kvm/xen = hyperviseur type 1, virtualbox/vmware workstation = hyperviseur type 2, et docker c'est du LXC avec une surcouche ?
Puisque OpenVZ utilise LXC, Docker peut pas fonctionner avec ?

jack

  • Professionnel des télécoms
  • *
  • Messages: 1 674
  • La Madeleine (59)
VM incompatible docker
« Réponse #5 le: 25 septembre 2015 à 14:53:19 »
Citation de: vivien
Quels facteurs rendent un VM incompatible docker ?
Un vieux kernel, ou le fait que ta VM ne soit pas une VM, mais déjà un containeur.

Le containeur de containeur, c'est comme la virtualisation dans une VM : ce n'est pas une bonne idée

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 078
  • Paris (75)
VM incompatible docker
« Réponse #6 le: 25 septembre 2015 à 20:43:54 »
En gros : esxi/kvm/xen = hyperviseur type 1, virtualbox/vmware workstation = hyperviseur type 2, et docker c'est du LXC avec une surcouche ?
Puisque OpenVZ utilise LXC, Docker peut pas fonctionner avec ?

kvm c'est type 2 il me semble.

exact pour OpenVZ , ca n'est pas capable de faire tourner Docker...du moins originalement...mais des bidouilles existent depuis il me semble.


q05

  • Abonné Proximus (Belgique)
  • *
  • Messages: 322
VM incompatible docker
« Réponse #7 le: 21 novembre 2015 à 20:23:40 »
Avec Triton, pas besoin de vm pour docker:


En résumé, ils ont ajouté les appels systèmes linux à leur OS (smartOS basé sur Solaris). Chaque app docker tourne dans sa propre zone/container.
C'est le système de gestion du cloud qui se charge de répartir les apps docker sur les nodes.

Si quelqu'un veut essayer de se monter son cloud Triton personnel:
https://www.joyent.com/blog/spin-up-a-docker-dev-test-environment-in-60-minutes-or-less

Intel fait partie des investisseurs.
« Modifié: 22 novembre 2015 à 07:53:18 par q05 »

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 078
  • Paris (75)
VM incompatible docker
« Réponse #8 le: 22 novembre 2015 à 12:16:03 »
Avec Triton, pas besoin de vm pour docker:

Avec les autres non plus.

et SmartOS est a la base un hyperviseur de Type 1 quand même ...

Si on enlève le 'flanc marketing' ils ont quoi de différent ?

Y'a un tel buzz en ce moment sur les containers que tout le monde fait dans la surenchère et la 'démo' qui tue...

q05

  • Abonné Proximus (Belgique)
  • *
  • Messages: 322
VM incompatible docker
« Réponse #9 le: 22 juin 2016 à 12:44:24 »
Samsung vient d'acquérir Joyent !
Une note intéressante de Bryan Cantrill sur les coulisses de la transaction:
https://www.joyent.com/blog/samsung-acquires-joyent-a-ctos-perspective