Comment exécuter une appliance OVA + OVF à l'intérieur d'AWS EC2?


8

GitHub Enterprise est livré en tant qu'appliance et fichier de virtualisation ouverte; il est destiné à être déposé dans la configuration de virtualisation existante comme VMWare, VirtualBox, etc.

Je voudrais l'exécuter à l'intérieur du cloud AWS EC2 (Github ne fournit pas d'AMI actuellement).

J'ai lu autour du sujet et il semble que l'outil VMImport d'AWS EC2 ne prend en charge que les machines virtuelles Windows, actuellement.

Je me demande s'il existe un guide étape par étape pour exporter une appliance OVA / OVF dans une instance EC2, afin que je puisse en créer une AMI et partir de là? J'ai essayé de suivre ce guide mais je ne sais pas comment suivre les étapes 1 à 3, honnêtement; GHE ne me donne qu'un accès ssh limité à l'instance, et je ne sais pas quoi rechercher ni comment le rechercher. GHE semble être livré sur une distribution de base Ubuntu.

(Je suis encore un administrateur système Linux de niveau débutant; je viens d'un environnement de développement Windows, mais je suis tout à fait capable d'apprendre rapidement.)

Réponses:


2

Il semble que vous pouvez importer un OVA / OVF à l'aide de la commande ec2-import-image:

Documentation d'Amazon

Texte pertinent:

Vous pouvez importer des images VMware ESK VMDK, des images Citrix Xen VHD et des images Microsoft Hyper-V VHD pour Microsoft Windows Server 2003 R2 et 2008 R1 et R2. Vous pouvez exporter des instances EC2 précédemment importées vers des formats de fichier VMware ESX VMDK, VMware ESX OVA , Microsoft Hyper-V VHD ou Citrix Xen VHD. Nous prévoyons de prendre en charge l'importation de systèmes d'exploitation, de versions et de produits d'infrastructure de virtualisation supplémentaires à l'avenir.

Vérifiez simplement que vous utilisez la dernière version de vos kits d'outils AWS et tout devrait bien se passer. Vous souhaitez sélectionner le format "Raw" pour -f et vous assurer que les autres indicateurs sont corrects. Je n'ai aucune expérience avec la machine virtuelle d'entreprise github, donc je ne peux pas entrer dans les détails, mais, avec un peu de piquer, ça devrait aller.

ec2-import-instance DISK_IMAGE_FILENAME -t INSTANCETYPE -f FORMAT -a ARCHITECTURE-SYSTEM -b S3_BUCKET_NAME -o OWNER -w SECRETKEY

Référence de la commande ec2-import-instance


1
À l'heure actuelle, ec2-import-image ne prend en charge que l'importation d'images qui ont le système d'exploitation invité Windows, donc, bien qu'utile, cela n'aide pas mon cas spécifique (Ubuntu OVF comme mentionné, mais seulement en passant) :-(
Peter Mounce

Lisez attentivement - il est dit que vous pouvez EXPORTER vers OVA, mais uniquement importer VMDK
Pete - MSFT

1

Je crois qu'un OVA n'est qu'un fichier tar. Vous devriez pouvoir extraire simplement les fichiers contenus avec tar. Ensuite, vous pouvez obtenir le fichier image vmdk. Vous devriez pouvoir convertir cela en une image brute avec qemu-img.

L'astuce après cela sera de monter l'image brute dans un périphérique de bouclage. Vous devrez peut-être utiliser kpartx pour le retirer si l'image est partitionnée. Vous devrez vous assurer que le noyau de l'image prend en charge le périphérique xen net. Je crois que l'option de configuration du noyau est CONFIG_XEN_NETDEV_FRONTEND. Si l'image GitHub est basée sur Ubuntu, vous trouverez la configuration du noyau dans / boot / config-SOME_KERNEL_VERSION. Si vous êtes chanceux, la configuration du noyau inclura cette option. Si vous n'êtes pas chanceux, vous devrez compiler un noyau personnalisé.

De plus, vous devrez vous assurer que l'image contient les fichiers dont pvgrub aura besoin pour démarrer l'image. Cela signifie que vous aurez besoin d'une configuration compatible grub1 dans /boot/grub/menu.lst.

Après avoir fait tout cela, vous devrez télécharger et AMI en utilisant le bon AKI pour pvgrub. Consultez ce document AWS pour plus d'informations à ce sujet.

Dans l'ensemble, ce sera assez difficile si le noyau n'est pas déjà construit de manière à prendre en charge les périphériques xen net. Bonne chance.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.