web-dev-qa-db-fra.com

Débuter avec le développement cloud à l'aide d'OpenStack

J'ai quelques idées d'applications cloud avec lesquelles je veux jouer, et je ne veux pas payer pour Amazon AWS ou quelque chose comme ça. De plus, je ne veux pas que mes projets soient en aucune façon exposés à Internet en général alors qu'ils sont encore à moitié cuits.

Voici avec quoi je dois travailler:

  • 1 machine quadricœur qui sert de serveur de fichiers, de serveur DHCP et de serveur DNS. Je suis d'accord pour laisser MAAS gérer le DHCP et le DNS sur mon réseau. Je ne suis PAS d'accord avec la réinstallation du système d'exploitation dans une configuration spéciale.
  • 1 machine quad-core qui peut être réinstallée librement ou autre.

Jusqu'à présent, j'ai installé MAAS sur la première machine (bien qu'il semble que je sois mordu par bug # 1067929 toujours, malgré mon utilisation de la solution de contournement), j'ai ajouté la deuxième machine en tant que nœud, et (apparemment) l'a commandé. MAAS répertorie l'état de la deuxième machine comme "Alloué à root" (root étant mon utilisateur MAAS). Juju, cependant, refuse obstinément de faire quoi que ce soit. L'exécuter à partir de mon ordinateur portable s'est soldé par un échec, car il ne peut apparemment pas gérer MAAS avec une URL HTTPS. L'exécuter sur la première machine à l'aide de HTTP va plus loin, mais l'amorçage échoue car "Aucun nœud correspondant n'est disponible". La recherche suggère que Juju a besoin d'au moins 2 machines physiques réelles, mais je n'ai pas encore vu d'explication adéquate de pourquoi.

(Je dois dire que je suis plutôt intrigué par MAAS. Avec un peu plus de travail (en particulier en QA), il semble que ce pourrait être la plate-forme de gestion de machine centralisée que je cherchais.)

Donc, maintenant je me retrouve à regarder DevStack. Je ne peux pas dire que je suis particulièrement ravi de l'idée de télécharger un script sur GitHub et de l'exécuter en tant que root, mais cela semble être le chemin le moins douloureux. DevStack est-il vraiment la voie à suivre? Cela fonctionne-t-il avec Ubuntu 12.10? Gère-t-il automatiquement le routage et le DNS? (Je préfère ne pas avoir à jouer avec les fichiers de configuration de bind9 chaque fois que je crée une nouvelle machine virtuelle cloud, et je préfère ne pas avoir à jouer avec iptables du tout.)

4
waucka

D'après mon expérience (j'ai fait des installations OpenStack en utilisant Dodai-deploy, manuellement et en développant des configurations DevStack), DevStack est la meilleure voie à suivre si vous voulez principalement vous concentrer sur quelque chose de non-production - test, développement. Toutes les autres méthodes (y compris Juju + MaaS de ce que j'ai fouillé) sont toujours difficiles à déployer et il y a trop de boutons à manipuler jusqu'à ce que les choses fonctionnent. Ne vous y prenez pas si vous n'y êtes pas obligé.

Si vous êtes inquiet pour la sécurité, mon conseil est de créer une image Virtualbox avec 4 cœurs au-dessus du matériel que vous avez et d'y installer DevStack ( n petit guide - pas très différent d'un installation normale de devstack). Vous pouvez le faire en quelques heures. C'est un cloud dans un "cloud", mais ce n'est pas un gros problème (à part la vitesse) - accepter tous les paramètres par défaut vous donne des machines virtuelles qui peuvent se rejoignent et Internet , c'est tout ce qui est important. Pour autant que je me souvienne, je l'ai installé dans une image 12.10 et cela a bien fonctionné . Vous avez raison de ne pas vouloir tout installer sur une machine physique si vous l'utilisez à d'autres fins. De plus, avec les machines virtuelles, vous avez les avantages supplémentaires de les prendre en photo et de revenir en arrière au cas où vous gâcher quelque chose.

Alternativement, pour atteindre un niveau de sandbox, vous pouvez essayer Juju + conteneurs Linux (LXCs) ou peut-être LXCs + devstack et j'ai entendu que les gens avaient une bonne expérience avec les LXC, mais je ne les ai pas essayés moi-même.

1
metakermit