Estou tentando encontrar a melhor maneira moderna de fazer o que costumava fazer com o python-vm-builder (também conhecido como ubuntu-vm-builder).
Eu quero uma maneira com script e repetível para começar a partir de algo como o ubuntu-core (também conhecido como JeOS ), adicionar alguns pacotes, definir scripts de primeira execução etc.
O que estou procurando é algo parecido com a rotação de um ISO personalizado (embora não seja um ISO, será um sistema "instalado"). O resultado precisa ser um kernel, imagem initrd e rootfs adequados para uma inicialização PXE sem disco com NFS.
Quais ferramentas são usadas para criar, por exemplo, a imagem do Ubuntu netboot (ou qualquer imagem do Ubuntu)? Eles são flexíveis o suficiente para minhas necessidades?
E as ferramentas usadas para criar os ambientes de instalação nova usados para o teste de integração do Ubuntu? Eles seriam apropriados?
Observe que, em tempo de execução, o rootfs será montado como somente leitura, portanto, não pretendo gerenciar uma instância ao longo do tempo. Eu estou olhando para girar novamente uma instalação automatizada a cada nova versão do Ubuntu e periodicamente nos 6 meses seguintes.
debootstrap
para criar o sistema base (um "chroot" que pode ser copiado para uma imagem de disco). Dê uma olhada e veja se isso ajuda.Respostas:
Você pode usar uma imagem oficial da nuvem diretamente e, em seguida, criar uma pequena imagem ISO usando
cloud-localds
(docloud-utils
pacote) para usar como fonte de dados "nocloud" no cloud-init.Em seguida, você pode usar cloud-init userdata (exemplo) como um único mecanismo para adicionar pacotes e executar seus próprios scripts de primeira execução em provedores de nuvem que fornecem imagens oficiais da nuvem Ubuntu, bem como em suas VMs locais.
Se você executar
cloud-localds
sem parâmetros, ele exibirá um exemplo de uso para configurar e executar uma VM usando o kvm diretamente.Para executar a VM de outra maneira, basta fornecer uma imagem da nuvem (por exemplo, baixada de https://cloud-images.ubuntu.com/precise/current/precise-server-cloudimg-amd64-disk1.img para 12.04) como primeiro disco e apresente a saída da imagem ISO
cloud-localds
como um CD-ROM.Mais informações estão no post de Scott Moser .
fonte
Como eu nunca empacotei uma ISO, não posso comentar com minha própria experiência, mas parece que a resposta para sua pergunta é Cobbler ( http://cobbler.github.com ).
Da documentação da comunidade Ubuntu:
"O Ubuntu usa o sapateiro como o servidor de provisionamento preferido para máquinas Ubuntu". - https://help.ubuntu.com/community/Cobbler
fonte
Para quem procura resposta para este, Oz ( https://github.com/clalancette/oz ) parece realmente bom.
fonte