Recherche de site Web

Utiliser Juju Charms pour déployer facilement des services dans Ubuntu


L'un des plus grands avantages d'Ubuntu est la simplicité du système de packages APT. Vous trouvez le programme de bureau souhaité, émettez une commande et il est prêt à être exécuté. Cependant, pour les applications côté serveur, cette installation APT n'installe parfois que les fichiers dont vous aurez besoin pour exécuter le programme - vous devrez configurer et exécuter le programme (souvent un service ou un démon) vous-même. Mais le système juju vise à rendre l'accès aux programmes basés sur serveur aussi simple que ceux pour ordinateur de bureau. Voici comment l'utiliser.

Installation et configuration initiale

La configuration de juju est un peu plus complexe que, par exemple, l'installation d'une pile LAMP à l'aide de tâchesel, car elle est conçue pour les environnements cloud. Tout d'abord, nous devrons installer juju et ses dépendances :

sudo apt-get install juju libvirt-bin lxc apt-cacher-ng libzookeeper-java zookeeper

Remarque : bien qu'il existe une version de juju dans les référentiels Universe pour Precise, l'équipe des "hackers Juju" a quelques PPA avec versions mises à jour. J'utiliserai la version des référentiels.

Une fois cette opération terminée, vous devrez générer une clé SSH pour votre serveur, si vous n'en avez pas déjà une :

ssh-keygen -t rsa

Enfin, votre utilisateur devra être un groupe associé au démon de virtualisation libvirtd :

sudo usermod -a -G libvirtd [your username]

En effet, votre environnement juju est en fait un environnement Ubuntu virtuel au sein de votre machine actuelle. Ensuite, vous devrez lancer le processus « bootstrap », où cet environnement virtuel est téléchargé et installé :

juju bootstrap

Oops! Il nous manque un fichier de configuration... heureusement, juju a au moins créé un échantillon pour nous. À l'aide de l'éditeur de texte de votre choix, modifiez le fichier ~/.juju/environments.yaml pour qu'il corresponde à ce qui suit :

default: wordpress
environments:
  wordpress:
    type: local
    admin-secret: [create a unique phrase here]
    default-series: precise
    data-dir: /home/[your username]/[a directory you choose]

Désormais, si vous parvenez à arrêter le serveur, le redémarrage garantira que tous les services démarrent correctement. Allons chercher des amulettes.

Installation et exécution des charmes

Comme mentionné, les Charms sont similaires aux packages APT mais se concentrent également sur tout ce qui doit se produire pour faire fonctionner un service. Nous allons déployer ici une instance de WordPress à titre d'exemple avec la commande suivante :

juju deploy wordpress

Nous devrions maintenant pouvoir accéder à l'adresse IP de notre serveur et accéder au blogging... nous pouvons confirmer que WordPress fonctionne avec la commande suivante :

juju status

Mais attendez, il y a une erreur ici ! C'est parce que juju ne gère pas automatiquement les dépendances. WordPress nécessite une base de données MySQL pour fonctionner, et celle-ci n'a pas été installée automatiquement. Mettons cela en place :

juju deploy mysql

Nous devons maintenant relier les deux ensemble :

juju add-relation wordpress mysql

Enfin, rendons-le visible au monde :

juju expose wordpress

À ce stade se trouve la partie la plus difficile du processus : la patience. Même si ces commandes semblent terminées, un certain nombre de choses se produiront en réalité en arrière-plan, notamment le téléchargement, l'installation et la configuration de l'environnement Ubuntu "virtuel". Vous remarquerez deux listes sous « services : » lorsque vous émettez la commande juju status, l'une appelée « wordpress » (il s'agit de l'instance WordPress réelle) et « mysql » (il s'agit de l'instance MySQL). . Sous chacun, il y a une ligne « agent-état », qui indiquera probablement « en attente ». Vous pouvez également entendre votre disque dur vibrer... ce n'est pas grave, c'est juste un grand nombre de packages en cours d'installation (vérifiez les résultats de ps ax pour voir une partie de ce qui se passe).

Il suffit de dire que vous devrez attendre que les deux services indiquent « agent-state : démarré ». Continuez à utiliser juju status pour vérifier les progrès. Une fois qu'ils sont tous les deux démarrés, vous pouvez voir votre installation WordPress en visitant l'adresse IP répertoriée dans la ligne "adresse publique" de la sortie de juju status (la mienne était http://10.0.3.66) .

Articles connexes