1. Oversigt Puppet er et open source softwareautomatiseringsværktøj til konfiguration og implementering, som er let at bruge og kraftfuldt, og det får mere og mere opmærksomhed, og mange store IT-virksomheder bruger nu Puppet til at administrere og implementere software i klynger, såsom Google, der bruger Puppet til at administrere mere end 6.000 Mac-stationære computere (data fra 2007). Denne artikel introducerer primært installationsmetoden, designarkitekturen og brugsmetoden for dukker.
2. Designarkitektur Puppet er baseret på C/S-arkitekturen. Serversiden gemmer al konfigurationskode for klientserveren, som kaldes manifest i puppet. Efter klienten har downloadet manifestet, kan serveren konfigureres i henhold til manifestet, såsom pakkehåndtering, brugerstyring og filhåndtering.
Som vist i figuren ovenfor er arbejdsgangen i puppet som følger: (1) Klientens puppetd kalder facter, og facter registrerer nogle variabler i værten, såsom værtsnavn, hukommelsesstørrelse, IP-adresse osv. pupppetd sender denne information til serveren via en SSL-forbindelse; (2) Server-side dukkemesteren registrerer klientens værtsnavn, finder derefter den tilsvarende nodekonfiguration i manifestet og parser denne del af indholdet. Parsing er opdelt i flere faser: syntakskontrol og fejlrapportering, hvis syntaksen er forkert. Hvis syntaksen er korrekt, fortsæt med at parse, og resultatet af parsingen vil generere en mellemliggende "pseudokode" og derefter sende pseudokoden til klienten; (3) Klienten modtager "pseudokoden" og udfører den, og klienten sender udførelsesresultatet til serveren; (4) Serversiden skriver klientens eksekveringsresultat til loggen. Der er to punkter værd at bemærke i processen med PUPPET-arbejdet: For det første er klienten og masteren baseret på SSL og certifikater for at sikre sikkerheden, og kun klienten, der er autentificeret af mastercertifikatet, kan kommunikere med masteren; For det andet vil puppet holde systemet i en bestemt tilstand, du forventer, og vedligeholde det hele tiden, såsom at opdage en fil og sikre, at den altid eksisterer, sikre at ssh-tjenesten altid er tændt; hvis filen slettes eller ssh-tjenesten lukkes, vil den næste gang dukken køres (30 minutter som standard), genskabe filen eller starte ssh-tjenesten.
3. Softwareinstallation Det anbefales ikke at bruge apt-get-kommandoen til installation, fordi dukken, der downloades af denne kommando, har en fejl. Det kan installeres direkte fra kildekoden, og den software, der skal installeres, er Ruby, Facter og Puppet.
3.1 Installationsprocedure Rediger /etc/host for at ændre værtsnavnet, da puppet er certifikatbaseret og indeholder værtsnavnet i certifikatet; Installer Ruby, Facter og Puppet på Master and Slave, og brug Ruby Install.rb til at installere Facter og Puppet.
3.2 Mappestruktur efter installation (1) Installationsmappe Installationsmappen gemmes i /etc/puppet og manifesteres i denne mappe med manifestfiler. Andre eksekverbare filer under /user/sbin inkluderer hovedsageligt: puppet: Bruges til at køre uafhængige mainfest-filer skrevet af brugeren, såsom: Puppet -l /tmp/manifest.log manifest.pp puppetd: Et klientprogram, der kører på den administrerede vært, såsom: puppet –serverservernavn –waitforcert 60 puppetmasterd: Et serverprogram, der kører på administrationsmaskinen, såsom: Puppetmasterd – Debug Puppetca Puppet-certificeringsprogrammet bruges hovedsageligt til at autentificere slavecertifikater, såsom: Tjek slaven for at blive autentificeret: puppetca –list Certificerer disse slaver: puppetca -s –a PuppetRun bruges til at forbinde til klienten, hvilket tvinger den lokale konfigurationsfil til at køre, såsom: puppetrun -p 10 –host host1 –host host2 -t fjernrapport -t webserver (2) Konfigurationsfiler puppet.conf Hovedkonfigurationsfilen for Puppet er /etc/puppet/puppet.conf for root-brugere og ~user/.puppet/puppet.conf for normale brugere For specifikke konfigurationsparametre, se:
http://docs.puppetlabs.com/references/stable/configuration.html#configuration-files fileserver.conf Konfigurationsfilen for dukkefilserveren. Brug sti-konfigurationsfilstien og tillad/afvis for at konfigurere adgangstilladelser, se http://docs.puppetlabs.com/guides/file_serving.html
3.3 Verificér at installationen er succesfuld Vælg en slave for at verificere med master, forudsat at slavens vært er slave00, og masterens vært er masterhost, indtast på slave00: puppetd –test –server servernavn Se derefter på slaven, der skal autentificeres på masterhost: Puppetca –List Hvis det er okay, kan du se slave00 underskrive slavens certifikat: puppetca -s -a På denne måde bestod slave00 certifikatvalideringen og kan interagere yderligere med masteren. Skriv site.pp-filen i /etc/puppet/manifests-mappen i masterhost, som lyder: Node default { fil { "/tmp/test": content=>"hej", mode => 0644;
}
} Samtidig indtastes puppetd –test –server servernavn på slave00, tjek /tmp-mappen slave00, og generer en ny filtest, hvis indhold er hello, og filens tilladelse er -rw-r—r-. På denne måde bevises dukkeinstallationen at være succesfuld
|