1 votes

Puppet pour la gestion des correctifs

J'envisage d'utiliser Puppet pour la gestion massive des correctifs.

La façon de procéder, basée sur quelques recherches, est de créer une classe et de l'appliquer là où vous en avez besoin, comme dans le cas suivant :

class mypack_update {
  package { 'mypack':
   # ensure => '1.0.1d-15.el6',
    ensure  => '1.0.1g-16.el6_5.7',
  }
}

Cependant, cela semble peu pratique, surtout si vous avez des centaines de correctifs disponibles, du noyau à ssl, bash etc. sur de nombreuses machines.

Y a-t-il une meilleure pratique que je pourrais suivre pour rendre cela plus facile ?

La distribution Linux que nous utilisons principalement est SLES 11.3.

3 votes

Si vous voulez vraiment faire comme ça, vous obtiendrez bien plus d'efficacité en passant une variable qui bascule entre "installé" et "dernier", puisque ce sont les deux états que vous voudrez le plus (plutôt que la version spécifique).

1voto

Raj Points 4190

La façon dont nous le faisons, est d'utiliser "ensure => 'latest'", cependant, cela est fait par rapport à un repo contrôlé et déjà testé. Cela devient plus compliqué si votre environnement a différents rôles avec différentes exigences, alors vous devez utiliser les faits comme un mécanisme sensoriel pour déterminer quel patch s'applique à quel rôle, nous le faisons dans hiera. après l'avoir fait pendant un an environ, je crois que la bonne réponse serait d'intégrer Puppet avec un système de gestion de repo comme pulp, et c'est exactement ce que fait Satellite 6.

0voto

shearn89 Points 3102

En supposant que l'impraticabilité que vous mentionnez est la génération d'une telle classe, cela pourrait potentiellement être fait avec quelques scripts. Combiné avec hiera vous pourriez alors avoir un .yaml liste de paquets avec un ID de version, et votre configuration Puppet pourrait ressembler à ceci :

hieradata/patchlist.yaml :

---
packages:
  mypack:
    ensure: 1.0.1g-16.el6_5.7
  otherpack:
    ensure: latest
  otherpacktwo:
    ensure: 2.0.1

votreclasse.pp

class patchset {
    create_resources('packages')
}

Pour ce qui est de la partie script, un peu d'awk/perl-fu appliqué au fichier rpm -qa sur un serveur dont vous savez qu'il possède les bons correctifs devrait faire l'affaire.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X