web-dev-qa-db-fra.com

Comment déployer plusieurs piles dans un environnement?

J'ai déployé une pile haproxy-> lamp-> mysql en utilisant juju. Cela semblait assez simple et cela fonctionne bien d'après mes tests. J'ai également vu qu'il est facile de mettre à l'échelle une couche et d'ajouter des unités supplémentaires aux serveurs de lampes par exemple. Le reste de notre configuration sur le serveur se fait par marionnette.

Cependant dans le même environnement "ec2" (spécifié dans mes environnements.yaml) dans ce cas, je souhaite déployer un autre ensemble de serveurs utilisant le même haproxy formulaire-> lamp-> mysql.

Cependant, cela ne semble pas possible car vous obtenez cette erreur:

ERROR Service name 'mysql' is already in use

Y a-t-il un moyen de faire cela?

J'ai eu l'idée de créer des environnements séparés dans le fichier yaml avec les mêmes informations d'identification EC2, mais cela semble faire tourner un serveur de configuration juju supplémentaire par environnement. Comme nous gérons plus de 250 sites Web dans ce type de piles, cela signifie 250 serveurs supplémentaires sur notre facture AWS, ce qui est loin d'être idéal.

Idéalement, je vise à déployer plusieurs piles haproxy-> lamp-> mysql sans avoir à créer de nouveaux charmes pour chaque site Web.

Toutes les suggestions sont les bienvenues ou si cela ne peut pas être fait, je dois repenser les choses.

7
ric_harvey

Yuu peut nommer explicitement les services dans juju. Donc par exemple au lieu de:

juju deploy haproxy
juju deploy mysql

vous pouvez simplement les nommer comme vous le souhaitez:

juju deploy haproxy mynewproxy
juju deploy mysql dbserver2

ou tout ce qui correspond à votre modèle. Vous devez juste vous souvenir de add-relation basé sur le nom après cela, donc: juju add-relation mynewproxy dbserver2

C'est génial que vous utilisiez juju pour cela, si vous souhaitez nous donner des commentaires sur la façon dont cela fonctionne pour vous, veuillez envoyer un message à la liste de diffusion juj .

5
Jorge Castro