Comment copier des fichiers sur tous les clients à l'aide d'une marionnette? J'ai installé un serveur de marionnettes et des clients et j'ai testé la connexion qui fonctionnait bien. Je ne suis pas un expert en marionnettes, je suis juste un débutant et je veux juste savoir comment copier des fichiers sur tous les clients du serveur de marionnettes? Je veux aussi savoir comment supprimer des fichiers?
8
Réponses:
Le serveur de fichiers Puppet
Ce guide couvre l'utilisation de la capacité de service de fichiers de Puppet.
Le service de marionnettes maître comprend un serveur de fichiers pour le transfert de fichiers statiques. Si une déclaration de ressource de fichier contient une marionnette: URI dans son attribut source, les nœuds récupèrent ce fichier à partir du serveur de fichiers du maître:
Tous les URI de serveur de fichiers de marionnettes sont structurés comme suit:
Si un nom d'hôte de serveur est omis (c'est-à-dire
puppet:///{mount point}/{path}
, notez la triple barre oblique), l'URI sera résolu sur le serveur que le nœud évaluateur considère comme son maître. Comme cela rend le code manifeste plus portable et réutilisable, les noms d'hôtes doivent être omis autant que possible.Le reste de la marionnette: l'URI est mappé au système de fichiers du serveur de deux manières, selon que les fichiers sont fournis par a
module
ou exposés via acustom mount point
.Fichiers de modules de service
Étant donné que la grande majorité du service de fichiers doit être effectuée via des modules, le serveur de fichiers Puppet fournit un point de montage spécial et semi-magique appelé modules, qui est disponible par défaut. Si le point de montage d'un URI est un module, Puppet:
C'est-à-dire que si un module nommé test_module est installé dans le
/etc/puppet/modules
répertoire du serveur central , la marionnette suivante: URI ...... résoudra le chemin absolu suivant:
S'il
test_module
était installé dans/usr/share/puppet/modules
, le même URI se résoudrait à la place:Bien qu'aucune configuration supplémentaire ne soit requise pour utiliser le point de montage des modules, certains contrôles d'accès peuvent être spécifiés dans la configuration du serveur de fichiers en ajoutant un
[modules]
bloc de configuration; voir Sécurité.Servir des fichiers à partir de points de montage personnalisés
Puppet peut également servir des fichiers à partir de points de montage arbitraires spécifiés dans la configuration du serveur de fichiers du serveur (voir ci-dessous). Lorsque vous servez des fichiers à partir d'un point de montage personnalisé, Puppet n'effectue pas l'abstraction d'URI supplémentaire utilisée dans le montage des modules et résoudra le chemin d'accès suivant le nom du montage sous la forme d'une structure de répertoire simple.
Configuration du serveur de fichiers
L'emplacement par défaut des données de configuration du serveur de fichiers est
/etc/puppet/fileserver.conf
; cela peut être changé en passant le--fsconfig
drapeau au maître des marionnettes.Le format du
fileserver.conf
fichier est presque exactement comme celui dersync
, et ressemble à peu près à un fichier INI:Les options suivantes peuvent actuellement être spécifiées pour un point de montage donné:
chemin est la seule option requise, mais comme la configuration de sécurité par défaut consiste à refuser tout accès, un point de montage sans directive d'autorisation ne serait disponible pour aucun nœud.
Le chemin peut contenir tout ou partie de
%h
,%H
et%d
, qui sont remplacés dynamiquement par le nom d'hôte du client, son nom de domaine complet et son nom de domaine, respectivement. Tous sont extraits du certificat SSL du client (soyez donc prudent si vous avez des incompatibilités de nom d'hôte / nom de certificat). Ceci est utile pour créer des modules où les fichiers de chaque client sont conservés complètement séparément, par exemple pour les clés d'hôte ssh privées. Par exemple, avec la configurationla demande de fichier
/private/file.txt
du client client1.example.com recherchera un fichier/data/private/client1/file.txt
, tandis que la même demande declient2.example.com
tentera de récupérer le fichier /data/private/client2/file.txt sur le serveur de fichiers.Actuellement, les chemins ne peuvent pas contenir de barres obliques de fin ou une erreur en résultera. Veillez également à ce que
puppet.conf
vous ne spécifiez pas d’emplacement de répertoire comportant des barres obliques de fin.Sécurité
La sécurisation du serveur de fichiers Puppet consiste à autoriser et refuser l'accès (à différents niveaux de spécificité) par point de montage. Les groupes de nœuds peuvent être identifiés pour une autorisation ou un refus de trois manières: par adresse IP, par nom ou par un seul caractère générique global (*). Les points de montage personnalisés par défaut refusent tout accès.
En plus des points de montage personnalisés, il existe deux points de montage spéciaux qui peuvent être gérés avec
fileserver.conf
:modules
etplugins
. Aucun de ces points de montage ne doit avoir une option de chemin d'accès spécifiée. Le comportement du point de montage des modules est décrit ci-dessus sous Traitement des fichiers à partir des points de montage personnalisés. Le montage des plugins n'est pas un vrai point de montage, mais plutôt un crochet pour permettre à fileserver.conf de spécifier quels nœuds sont autorisés à synchroniser les plugins depuis Puppet Master. Ces deux points de montage existent par défaut, et les deux par défaut permettent tous les accès; si des directives d'autorisation ou de refus sont définies pour l'un de ces montages spéciaux, ses paramètres de sécurité se comporteront comme ceux d'un montage normal (c'est-à-dire qu'il refusera par défaut tout accès). Notez que ce sont les seuls points de montage pour lesquels refuser * n'est pas redondant.Si les nœuds ne se connectent pas directement au serveur de fichiers Puppet, par exemple en utilisant un proxy inverse et Mongrel (voir Utilisation de Mongrel), alors le serveur de fichiers verra toutes les connexions comme provenant de l'adresse IP du serveur proxy plutôt que de celle du nœud Agent Puppet . Dans ce cas, il est préférable de restreindre l'accès en fonction du nom d'hôte. De plus, la ou les machines agissant comme proxy inverse (généralement 127.0.0.0/8) devront être autorisées à accéder aux points de montage applicables.
Priorité
Des instructions plus spécifiques de refus et d'autorisation ont priorité sur les instructions moins spécifiques; c'est-à-dire qu'une instruction allow pour node.domain.com le laisserait se connecter malgré une instruction deny pour * .domain.com. À un niveau de spécificité donné, les instructions deny ont priorité sur les instructions allow.
Un comportement imprévisible peut résulter du mélange des directives d'adresse IP avec les directives de nom d'hôte et de nom de domaine, essayez donc d'éviter cela. (Actuellement, si l'adresse IP de node.domain.com est 192.168.1.80 et si fileserver.conf contient allow 192.168.1.80 et refuse node.domain.com, la directive allow basée sur IP aura la priorité. Ce comportement peut être modifié dans le futur et ne doit pas être invoqué.)
Noms d'hôtes
Les noms d'hôte peuvent être spécifiés à l'aide d'un nom d'hôte complet ou en spécifiant un domaine entier à l'aide du caractère générique *:
Adresses IP
L'adresse IP peut être spécifiée de la même manière que les noms d'hôte, en utilisant des adresses IP complètes ou des adresses génériques. Vous pouvez également utiliser la notation de style CIDR:
Autoriser global
La spécification d'un seul caractère générique permettra à n'importe quel nœud d'accéder à un point de montage:
Notez que le comportement par défaut des points de montage personnalisés équivaut à refuser *.
la source