web-dev-qa-db-fra.com

Que fait juju lorsque mon déploiement est "en attente"? Il semble que cela prenne un certain temps sans qu'il se passe beaucoup de choses

Après avoir déployé un charme, localement ou non, le statut juju affiche "En attente". Il semble rester dans cet état pendant un certain temps, plus longtemps dans mon expérience dans le cloud, un peu plus court localement. Que fait juju pendant ce temps?

Pour les instances locales, cela prend quelques minutes ou moins, plus avec les instances cloud, jusqu'à 10 minutes dans certains cas. Je suis simplement curieux de savoir si le déploiement reste en attente lorsque le VM est en cours de configuration ou quelque chose d'autre se passe-t-il?

3
mfisch

Ce que vous voyez me semble normal.

Juju doit non seulement approvisionner le système d'exploitation, mais également installer son client, ses mises à jour et quel que soit le charme que vous déployez. En plus de cela, cela dépend du cloud sur lequel vous déployez et du nombre de ressources dont dispose le type d'instance. Jusqu'à ce que cela se produise, juju affiche Pending.

Avec le fournisseur local, la première fois que vous le faites, cela prend le plus de temps, car il doit télécharger les ~ 300 Mo d'image du serveur Ubuntu avant même de commencer. Après cela, le package apt-cacher-ng bits accélèrent les déploiements après cela, donc quelques minutes pour le local sont normales.

Sur Amazon Web Services, les images sont déjà dans leur cloud, et elles ont également des miroirs certifiés dans toutes leurs régions, ce qui signifie que les mises à jour et l'installation peuvent être relativement rapides (vitesse LAN). Certains autres fournisseurs n'ont pas de miroirs Ubuntu locaux, donc cela dépend vraiment de la vitesse d'Internet ce jour-là, donc cette heure peut varier considérablement.

Même avec des miroirs rapides, il existe d'autres facteurs. Si votre charme fait un tas de trucs, comme par exemple, l'installation d'une pile Java pile mais vous êtes sur une instance relativement petite (en particulier t1.micros) cela peut prendre plus de temps que sur les instances qui avoir plus IO disponible pour Ubuntu.

Lorsque je fais des démos en direct sur AWS, j'obtiens généralement environ 5 minutes de déploiement, suffisamment pour déclencher certaines instances, puis revenir à ma présentation.

Voici certaines choses que nous faisons pour améliorer cela:

  • À partir de Juju .6, nous utilisons maintenant des images cloud pour installer au lieu d'une installation de serveur ubuntu normale qui doit passer par une installation complète et installer et configurer des packages.
  • Nous travaillons en étroite collaboration avec les fournisseurs de cloud pour garantir que le temps de démarrage de l'instance soit aussi rapide que possible.
  • Avec la réécriture, cela signifie que Juju n'aura pas besoin d'installer les dépendances Java Java associées à chaque instance, ce qui pourrait entraîner des temps de démarrage plus rapides et moins de consommation de mémoire pour les instances). (Je n'ai pas testé cela personnellement)
  • Encourager les auteurs de charme à mentionner les longs téléchargements/installations dans leur charme README le cas échéant.

Habituellement, le démarrage et l'exécution de l'instance sont relativement rapides, vous pouvez savoir exactement ce qui se passe en sshing dans l'image dès que vous le pouvez et en vérifiant les fichiers journaux juju, vous pouvez simplement les suivre et trouver le coupable; d'après mon expérience, il attendait que les choses soient téléchargées et installées via apt.

5
Jorge Castro