web-dev-qa-db-fra.com

Configuration de Juju SSH dans un environnement d'orchestre

Pour l'orchestre, les clés publiques doivent-elles être copiées sur les nœuds avant que 'juju bootstrap' ne soit exécuté pour la première fois?

4
David Buttrick

David, les nœuds n'existent pas avant bootstrap est exécuté. Orchestra configure cordonnier pour installer les nœuds à partir de zéro, puis démarrer juju. Ceci est fait pour que les charmes juju qui sont déployés puissent commencer par un système de base et propre. Il a été discuté que nous pourrions vouloir faciliter le contrôle d'une machine existante avec juju, mais pour l'instant ce n'est pas comme ça que ça fonctionne.

juju bootstrap fait essentiellement cela avec orchestre:

  • Parle au cordonnier via l'API XML-RPC, trouve un système marqué pour le démarrage PXE qui est dans la "classe disponible-mgmt", injecte des données pour installer juju au premier démarrage et le déplace vers la "classe acquise-mgmt" . Il utilise ensuite l'infrastructure d'alimentation, si elle est définie, pour allumer la machine. Cette machine sera le "nœud d'amorçage" qui exécute zookeeper et l'agent d'approvisionnement. La clé publique SSH de l'utilisateur à installer sur l'utilisateur "ubuntu" est incluse dans les données de départ "premier démarrage" afin que les clients juju puissent parler au nœud bootstrap via un tunnel ssh).
  • Stocke un objet dans le stockage de fichiers (généralement un service ssl webdav sur orchestra-provisioning-server) qui informe les futurs clients juju que l'environnement est amorcé et comment contacter le nœud bootstrap.

Notez que vous pouvez remplacer le chemin d'accès des clés autorisées ssh à utiliser. Il utilisera normalement ~/.ssh/id_rsa.pub ou ~/.ssh/id_dsa.pub. Vous pouvez également le définir avec 'authorized-keys-path' dans environnements.yaml. Vous pouvez également insérer des clés réelles pour remplacer tout cela avec des "clés autorisées".

3
SpamapS