J'utilise l'Ansible become
pour exécuter des jeux avec un utilisateur différent. Voici un exemple de mon site.yml
:
- hosts: webserver
remote_user: ansible_user
become: true
roles:
- role_a
- role_b
Cela fonctionne comme prévu : Ansible utilise ansible_user
pour se connecter à webserver
y sudo
ensuite pour exécuter les tâches dans les rôles définis en tant que root
. Cependant, il fonctionne sudo
une fois par tâche dans chacun des rôles, ce qui entraîne un surcoût important puisque l'exécution sudo
est plutôt lent.
Comment puis-je configurer Ansible pour qu'il applique ses règles de sécurité ? become
-configuration une fois par jeu au lieu d'une fois par tâche ?
1 votes
L'exécution de sudo ne devrait pas être lente. Cela indique un problème sérieux que vous devez trouver et corriger dès que possible.
0 votes
Lent comme dans une fraction de seconde. Cela ajoute un certain retard dont j'aimerais me débarrasser lors de l'exécution de centaines de tâches. Il n'y a pas de problème avec la configuration sudo.
1 votes
Je ne suis pas sûr que vous puissiez le faire, simplement parce que chaque tâche est téléchargée et exécutée séparément. Mais je suis curieux de voir ce que chacun peut inventer.
1 votes
Réponse courte : vous ne pouvez pas. Réponse plus longue : utilisez un autre outil qu'ansible. En attendant, j'utilise ansible quotidiennement pour exécuter des dizaines de milliers de tâches et la majorité d'entre elles s'exécutent en tant que root ou même un autre utilisateur. Cela n'a jamais été un goulot d'étranglement au cours des 3 dernières années. Je peux citer d'autres problèmes qui ont été : une charge élevée sur l'infrastructure vsphere fournissant nos vms, des contraintes de réseau, le temps de résolution des dns... Je pense vraiment que vous êtes en train de courir après le mauvais moulin à vent ici.