‫Maintenant que nous avons vu des secrets avec des services, examinons les secrets avec des piles. Dans ce répertoire, je suis dans l'exemple 2
‫de secrets,
‫et dans ce répertoire, j'ai un fichier Compose, puis deux secrets stockés dans des fichiers texte.
‫Il s’agit donc du mot de passe et des noms d’utilisateur similaires à ceux de la conférence précédente, mais nous avons
‫maintenant défini tout cela dans un fichier Compose. Nous avons plusieurs choses différentes ici.
‫La première chose à faire est que la version de votre fichier Compose doit maintenant être 3. 1. Pour avoir des secrets, nous
‫devons être au. 1 publication de 3.
‫Nous avions donc besoin de 3 pour pouvoir utiliser des piles, mais pour utiliser des piles avec des secrets, nous devons en avoir 3. 1 ou plus
‫récent.
‫La deuxième chose que nous remarquons, c’est qu’au bas de la page, nous avons cette clé des secrets de racine et c’est
‫là que nous définissons nos secrets.
‫Les deux manières dont vous pouvez utiliser les secrets dans un fichier Compose sont d’utiliser un fichier pour chaque
‫secret ou d’avoir les secrets pré-créés.
‫Ici, nous n'utilisons que des fichiers, mais
‫nous pourrions créer ces secrets nous-mêmes, d'une autre manière, soit par le biais de la CLI,
‫comme vous l'avez vu, soit peut-être directement via l'API. Ensuite, nous remplacerions simplement le fichier: en
‫dessous, il dirait simplement external: et ce serait le nom du secret dans la liste des
‫secrets.
‫Nous devons informer le fichier Compose de nos secrets et de leur emplacement, puis nous les attribuons aux
‫services qui en ont besoin.
‫C'est essentiel parce que ce que nous disons vraiment ici, c'est que seul le conteneur
‫qui veut notre secret obtient notre secret. S'il s'agissait d'un fichier Compose complexe dans lequel nous avions plusieurs services, nous pourrions
‫avoir différents secrets pour différents services.
‫Nous les définirions d’abord en bas, puis nous les attribuerions spécifiquement à
‫chaque service.
‫Je dirai que ceci est en fait considéré comme la forme abrégée ou le moyen facile de faire les secrets dans le
‫cadre d’un service.
‫Il existe en fait un formulaire long qui vous permet de définir des éléments tels que les autorisations et les utilisateurs
‫autorisés à accéder à celui-ci à l'aide de la syntaxe en mode Linux standard et de l'ID utilisateur.
‫Ainsi, si vous exécutiez des applications en tant qu'utilisateur non root, vous voudriez cibler ces secrets uniquement sur le fait
‫que cet utilisateur puisse y accéder.
‫Mais pour simplifier, dans ce premier exemple, nous utilisons simplement la forme abrégée.
‫Tout ce que j'ai à faire est d'utiliser ce fichier dans une commande de déploiement de pile standard. Alors, déployez docker-compos, et nous
‫appellerons cela mydb. Vous verrez que, tout comme auparavant, le réseau a d'abord été créé.
‫Dans ce cas, les secrets ont d'abord été créés, puis le service.
‫Si je suis allé faire une recherche secrète dans Docker, alors vous verrez que les deux sont dedans et que cela suit la même
‫convention d'appellation que tous les autres composants de la pile, où il y a toujours le nom de la pile, puis
‫le nom de l'objet.
‫Comme lors de la conférence précédente, si je sautais sur le serveur SQL
‫et cherchais réellement ces fichiers, ils seraient là exactement comme avant. seulement maintenant, ils sont gérés dans notre fichier de pile.
‫La bonne chose ici est que si je supprime ma pile, elle nettoie également les secrets et s’en débarrasse. Dans l'exemple précédent, si nous voulions
‫supprimer nos secrets,
‫nous aurions dû faire appel à une société secrète de docker pour
‫les supprimer. Pour rappel, dans ces
‫exemples, nous utilisons des fichiers texte sur ce serveur, et nous parlons ici d'essaim de
‫3 nœuds.
‫Mais si vous vous trouvez dans un environnement de production ou dans un environnement qui ne se trouve pas sur votre
‫ordinateur local, vous ne devriez pas conserver les secrets dans des fichiers ou dans le fichier d'historique bash, ni dans aucun emplacement susceptible de se trouver
‫sur cet hôte.
‫C'est un peu vider l'objectif d'avoir les secrets en premier lieu. Quel que soit votre processus pour obtenir des
‫secrets dans l'Essaim, sachez que vous aurez peut-être
‫besoin d'être nettoyé une fois que vous avez terminé, afin de ne pas laisser de secrets résiduels qui soient
‫faciles à obtenir pour les gens.