Virtualbox sob Proxmox

3

Em uma configuração do Jenkins Master-Slave e precisa ser executado nos escravos, o Kitchen testa vários trabalhos. Cozinha para quem não conhece, roda infraestrutura sob demanda usando Vagrant e VirtualBox (no meu caso). Mestre e escravo estão ambos sob Proxmox, então minhas perguntas são: existe uma maneira sã de executar o VirtualBox dentro de um contêiner OpenVZ ?, existe alguma solução que eu possa fazer para conseguir isso? Eu não quero criar um nó físico para executar esse tipo de trabalho.

    
por Carlos Castellanos 18.02.2014 / 13:52

1 resposta

5

De acordo com a minha resposta a este Q & Q & A intitulado: Can VirtualBox executado sob Xen Dom0? a resposta aqui é não, você não pode executar tecnologias VM como isso em cima de XEN ou Proxmox / OpenVZ. Você provavelmente pode executar o OpenVZ dentro de uma VM dentro do VirtualBox.

Mas estou assumindo que você está fazendo sua pergunta principalmente em torno do desejo de permitir que Jenkins tenha acesso a mais arquiteturas.

KVM

O que fazemos onde trabalho é configurar várias instâncias do KVM do Linux (não importa qual distro) e, além disso, executar muitas VMs. Você poderia fazer o mesmo. Isso seria idêntico ao uso do Vagrant + VirtualBox, então não tenho certeza se isso ajuda.

Uma alternativa?

Se você realmente não quer ter que executar isso em hardware físico, as duas tecnologias que podem permitir que você faça isso são Docker e LXC . Estes são semelhantes aos Proxmox & OpenVZ, mas permite um controle muito mais granular. Você ainda não estará executando o VirtualBox dentro deles, mas talvez você possa conceber uma solução em que possa utilizar essas duas tecnologias.

excerto LXC

LXC is a userspace interface for the Linux kernel containment features. Through a powerful API and simple tools, it lets Linux users easily create and manage system or application containers.

Features

Current LXC uses the following kernel features to contain processes:

  • Kernel namespaces (ipc, uts, mount, pid, network and user)
  • Apparmor and SELinux profiles
  • Seccomp policies
  • Chroots (using pivot_root)
  • Kernel capabilities
  • Control groups (cgroups)

As such, LXC is often considered as something in the middle between a chroot on steroids and a full fledged virtual machine. The goal of LXC is to create an environment as close as possible as a standard Linux installation but without the need for a separate kernel.

excerpt Docker

Docker is an open-source engine that automates the deployment of any application as a lightweight, portable, self-sufficient container that will run virtually anywhere.

Docker containers can encapsulate any payload, and will run consistently on and between virtually any server. The same container that a developer builds and tests on a laptop will run at scale, in production*, on VMs, bare-metal servers, OpenStack clusters, public instances, or combinations of the above.

Common use cases for Docker include:

  • Automating the packaging and deployment of applications
  • Creation of lightweight, private PAAS environments
  • Automated testing and continuous integration/deployment
  • Deploying and scaling web apps, databases and backend services

Vagabundo?

Esta pode ser uma outra saída para você, em vez de utilizar o Kitchen, você pode usar o Vagabond aqui. Ao olhar para o site, afirma integrar-se com o LXC (mesma tecnologia mencionada acima).

trecho

Vagabond is a tool integrated with Chef to build local nodes easily and most importantly, quickly. It uses Linux containers instead of full blown VMs which means things are faster. Lots faster.

Vagabond is built for Chef. The tooling within Vagabond is targeted at Chef. After the initial development has slowed, the Chef specifics will be pulled into a plugin.

Ainda segundo o site, afirma ter suporte com o Kitchen 1.0.

Vagabond provides test kitchen 1.0 support. It will map boxes defined within platforms to platform templates available (to the best of its ability). No need to spin up vagrant VMs, or use another tool. Point vagabond at the cookbook, and let it handle the details.

    
por 18.02.2014 / 14:13