bytes.cat

La wiki d'FP d'informàtica

Eines de l'usuari

Eines del lloc


Barra lateral

ASIX Administració de Sistemes Informàtics i Xarxes
Tots els mòduls del cicle
MP01 Implantació de sistemes operatius
Totes les UFs del modul
MP02 Gestió de bases de dades
Totes les UFs del modul
MP03 Programació bàsica
Totes les UFs del modul
MP04 Llenguatges de marques i sistemes de gestió d'informació
Totes les UFs del modul
MP05 Fonaments de maquinari
Totes les UFs del modul
MP06 Administració de sistemes operatius
Totes les UFs del modul
MP07 Planificació i administració de xarxes
Totes les UFs del modul
MP08 Serveis de xarxa i Internet
Totes les UFs del modul
MP09 Implantació d'aplicacions web
Totes les UFs del modul
MP10 Administració de sistemes gestors de bases de dades
Totes les UFs del modul
MP11 Seguretat i alta disponibilitat
Totes les UFs del modul
MP12 Formació i orientació laboral
Totes les UFs del modul
MP13 Empresa i iniciativa emprenedora
Totes les UFs del modul
MP14 Projecte
Totes les UFs del modul
DAM Desenvolupament d’aplicacions multiplataforma
Tots els mòduls del cicle
MP01 Sistemes informàtics
Totes les UFs del modul
MP02 Bases de dades
Totes les UFs del modul
MP03 Programació bàsica
Totes les UFs del modul
MP04 Llenguatges de marques i sistemes de gestió d'informació
Totes les UFs del modul
MP05 Entorns de desenvolupament
Totes les UFs del modul
MP06 Accés a dades
Totes les UFs del modul
MP07 Desenvolupament d’interfícies
Totes les UFs del modul
MP08 Programació multimèdia i dispositius mòbils
Totes les UFs del modul
MP09 Programació de serveis i processos
Totes les UFs del modul
MP10 Sistemes de gestió empresarial
Totes les UFs del modul
MP11 Formació i orientació laboral
Totes les UFs del modul
MP12 Empresa i iniciativa emprenedora
Totes les UFs del modul
MP13 Projecte de síntesi
Totes les UFs del modul
MPDual Mòdul Dual / Projecte
DAW Desenvolupament d’aplicacions web
Tots els mòduls del cicle
MP01 Sistemes informàtics
Totes les UFs del modul
MP02 Bases de dades
Totes les UFs del modul
MP03 Programació
Totes les UFs del modul
MP04 Llenguatge de marques i sistemes de gestió d’informació
Totes les UFs del modul
MP05 Entorns de desenvolupament
Totes les UFs del modul
MP06 Desenvolupament web en entorn client
Totes les UFs del modul
MP07 Desenvolupament web en entorn servidor
Totes les UFs del modul
MP08 Desplegament d'aplicacions web
Totes les UFs del modul
MP09 Disseny d'interfícies web
Totes les UFs del modul
MP10 Formació i Orientació Laboral
Totes les UFs del modul
MP11 Empresa i iniciativa emprenedora
Totes les UFs del modul
MP12 Projecte de síntesi
Totes les UFs del modul
SMX Sistemes Microinformàtics i Xarxes
Tots els mòduls del cicle
MP01 Muntatge i manteniment d’equips
Totes les UFs del modul
MP02 Sistemes Operatius Monolloc
Totes les UFs del modul
MP03 Aplicacions ofimàtiques
Totes les UFs del modul
MP04 Sistemes operatius en xarxa
Totes les UFs del modul
MP05 Xarxes locals
Totes les UFs del modul
MP06 Seguretat informàtica
Totes les UFs del modul
MP07 Serveis de xarxa
Totes les UFs del modul
MP08 Aplicacions Web
Totes les UFs del modul
MP09 Formació i Orientació Laboral
Totes les UFs del modul
MP10 Empresa i iniciativa emprenedora
Totes les UFs del modul
MP11 Anglès
Totes les UFs del modul
MP12 Síntesi
Totes les UFs del modul
CETI Ciberseguretat en Entorns de les Tecnologies de la Informació
Tots els mòduls del cicle
CiberOT Ciberseguretat en Entorns d'Operació
Tots els mòduls del cicle
ceti_mp03:puppet

Puppet: eina per administrar la configuració de clients amb SO semblants

QUÈ ÉS PUPPET

Puppet és una eina de gestió de la configuració de codi obert. Està escrit a Ruby i va ser publicat sota la Llicència Pública General de GNU (GPL) fins a la versió 2.7.0 i després sota la llicència Apache 2.0. Puppet Labs i Puppet van ser fundats per Luke Kanies el 2005.

Puppet és una eina dissenyada per administrar la configuració de sistemes similars a Unix i Microsoft Windows de forma declarativa des d’un servidor configurat amb puppetserver a ordinadors clients que tenen instal·lat el puppet-agent. L'usuari descriu els recursos del sistema i els seus estats fent servir el llenguatge declaratiu que proporciona Puppet. Aquesta informació és emmagatzemada en fitxers anomenats manifestos Puppet. el programari descobreix la informació del sistema mitjançant una utilitat anomenada Facter, i compila els manifestos en un catàleg específic del sistema que conté els recursos i la dependència d'aquests recursos. Aquests catàlegs són executats en els sistemes de destinació.

El programa es compon per un llenguatge declaratiu per descriure la configuració del sistema, pot ser aplicat directament al sistema, o compilat en un catàleg i distribuït al sistema de destinació a través de paradigma client-servidor (usant una Interfície de programació d'aplicacions de Transferència d'Estat Representacional (REST API), i l'agent utilitza proveïdors específics del sistema per aplicar el recurs especificat als «manifests». La capa d'abstracció de recursos permet als administradors descriure la configuració en termes d'alt nivell, com ara usuaris, serveis i paquets sense necessitat d'especificar les ordres específiques del sistema operatiu (com rpm, yum, apt).

Puppet esta dissenyat per ser multiplataforma, el programa funciona en les distribucions de Linux, incloses Red Hat Enterprise Linux (i els seus clons com CentOS i Oracle Linux), Fedora, Debian, Mandriva, Ubuntu, i SUSE, així com en altres múltiples sistemes Unix (Solaris, BSD, Mac OS X, AIX, HP-UX), i també té suport per a Microsoft Windows.

VERSIONS LINUX SUPORTADES PER PUPPET

Puppet ofereix paquets oficials que instal·len Puppet Server i tots els seus requisits previs per a les plataformes següents:

  • Red Hat Enterprise Linux 7, 8
  • Debian 9 (Stretch), 10 (Buster), 11 (Bullseye)
  • Ubuntu 16.04 (Xenial, amd64 only), 18.04 (Bionic), 20.04 (Focal)
  • SLES 12 SP1 (x86_64)

Podem veure versions disponibles de puppetserver per als diferents SO: https://apt.puppetlabs.com/

INSTAL·LACIÓ DE PUPPET AL SERVIDOR UBUNTU JAMMY 22.04

#descarreguem de repositori el deb per aconseguir la última versió de puppet per a Debian Bullseye i que serà compatible amb Ubuntu 22.04

 wget https://apt.puppetlabs.com/puppet-release-bullseye.deb 

#executem l'eina dpkg en mode d'instal·lació per al paquet deb anterior

 sudo dpkg -i puppet-release-bullseye.deb 

#actualitzem les llistes de paquets de apt

 apt-get update 

#instal·lem puppetserver, l’agent servidor del puppet

 apt-get install puppetserver 

#Per defecte, Puppet Server està configurat per utilitzar 2 GB de RAM. Tanmateix, si voleu experimentar amb Puppet Server en una màquina virtual, podeu assignar amb seguretat només 512 MB de memòria. Per canviar l'assignació de memòria del servidor Puppet, podeu editar el fitxer de configuració init. ##Obriu el fitxer corresponent de Ubuntu:

 /etc/default/puppetserver

Actualitzeu la línia següent per mostrar la quantitat de memòria que voleu assignar al servidor Puppet: # Modificar aquesta línia per canviar la memòria destinada a puppetserver de 2G a 512mb:

JAVA_ARGS="-Xms2g -Xmx2g" 
JAVA_ARGS="-Xms512m -Xmx512m" 

#iniciem puppetserver

systemctl start puppetserver

#per comprovar estat del servei puppetserver

 systemctl status puppetserver 

INSTAL·LACIÓ DE PUPPET AL CLIENT FOCAL 20.04

Primer de tot, el primer pas, ja que no tinc configurat un servidor DNS intern, utilitzarem el fitxer /etc/hosts, per definir les IP i els seus noms. És molt important aquesta part, si volem que tot funcioni correctament. En el meu cas, quedaria així:

  • 192.168.56.10 ubuntu-jammy ubuntu-jammy
  • 192.168.56.11 ubuntu-focal ubuntu-focal

#descarreguem de repositori el deb que serà compatible amb Ubuntu 20.04

wget https://apt.puppetlabs.com/puppet-release-focal.deb

#executem l'eina dpkg en mode d'instal·lació per al paquet deb anterior

sudo dpkg -i puppet-release-focal.deb

#actualitzem les llistes de paquets de apt

apt-get update 

#instal·lem puppetserver, l’agent servidor del puppet

apt-get install puppet-agent

#engeguem el servei puppet

sudo /opt/puppetlabs/bin/puppet resource service puppet ensure=running enable=true

#Podeu obtenir un script que instal·li l'agent de Puppet. Executeu l'ordre següent:

source /etc/profile.d/puppet-agent.sh

Per afegir el directori bin al vostre PATH a *nix, executeu:

export PATH=/opt/puppetlabs/bin:$PATH

CLIENT ⇒ Tu pots afegir configuracions del server utilitzant la comanda puppet config set subcomanda, la qual edita puppet.conf automàticament, o editant /etc/puppetlabs/puppet/puppet.conf directament. Executa al client:

puppet config set server ubuntu-jammy --section main 

Resultat: Aquesta comanda afegeix la següent configuració a la secció [main] del fitxer /etc/puppetlabs/puppet.conf

server = ubuntu-jammy

A més a més, en aquest fitxer has d’afegir:

dns_alt_names = ubuntu-jammy
certname = ubuntu-focal 

Per connectar el client amb el servidor, executar al client (deixar-lo una estona fins que pugui enviar!):

puppet ssl bootstrap

Per signar el certificat del client al servidor:

/opt/puppetlabs/server/bin/puppetserver ca sign --certname <name> 

Un cop el servidor ha signat el certificat del client, tornar a executar al client:

puppet ssl bootstrap

CREAR MANIFESTS I EXECUTAR-LOS AL CLIENT

I ara ja podem crear manifests al servidor per a que s’executin al client. Concretament hem de crear el fitxer site.pp i allí dintre posar el codi a executar als clients. Aquest fitxer ha d’estar guardat a la següent ubicació:

/etc/puppetlabs/code/environament/production/manifests

Exemple de codi que pot contenir un manifest (site.pp) per a que s'executi als clients i instal·li el programa unrar. Dintre de la carpeta manifests crea el fitxer site.pp i afegeix el següent codi:

package {"unrar":
        ensure => installed
    }

Per provocar l’execució al client, executar la comanda:

puppet agent –test

Per tenir exemples d’instruccions puppet https://www.puppetcookbook.com/

ceti_mp03/puppet.txt · Darrera modificació: 2022/07/08 22:11 per joan_hierro_mulet