Automatisering av datasenteret 2012-04-23 1 / 53 Automatisering av datasenteret Stig Sandbeck Mathisen Redpill Linpro 2012-04-23
Automatisering av datasenteret Introduksjon 2012-04-23 2 / 53 Stig Sandbeck Mathisen Systemadministrator Kursinstruktør Konsulent Programmerer Debian Developer
Automatisering av datasenteret Introduksjon 2012-04-23 3 / 53 Redpill Linpro Den ledende leverandøren av profesjonelle Open Source-baserte tjenester og produkter i den nordiske region.
Automatisering av datasenteret Introduksjon 2012-04-23 4 / 53 1 Automatisering 2 Om Puppet 3 Eksempel 4 Arbeide med Puppet 5 Komme i gang
Automatisering av datasenteret Automatisering 2012-04-23 5 / 53 1 Automatisering 2 Om Puppet 3 Eksempel 4 Arbeide med Puppet 5 Komme i gang
Automatisering av datasenteret Automatisering 2012-04-23 6 / 53 Mål Bedre planlegging Raskere leveranser Lavere kostnader Bedre kontroll
Automatisering av datasenteret Automatisering 2012-04-23 7 / 53 bedre planlegging Bedre tid til planlegging, og gjennomføring av nye prosjekter. Mindre tid brukes til rutinearbeid.
Automatisering av datasenteret Automatisering 2012-04-23 8 / 53 lavere kostnader Gjenbruk av arbeid fra eksisterende prosjekter gir lavere kostnader.
Automatisering av datasenteret Automatisering 2012-04-23 9 / 53 raskere leveranser Oppsett av nye løsninger gjøres før man har servere. Glidende overgang mellom planlegging og leveranse. Deler av leveransen kan testes underveis.
Automatisering av datasenteret Automatisering 2012-04-23 10 / 53 bedre kontroll Automatisering gjelder også mer enn oppsett og administrasjon av programvare. Rapportering Asset management Bedre oversikt, og mer tid, til sikkerhetsarbeid.
Automatisering av datasenteret Om Puppet 2012-04-23 11 / 53 1 Automatisering 2 Om Puppet 3 Eksempel 4 Arbeide med Puppet 5 Komme i gang
Automatisering av datasenteret Om Puppet 2012-04-23 12 / 53 Litt terminologi... katalog: En liste med ressurser node: En maskin som har puppet agent installert. puppet agent: Et program som går på hver node, ber puppet master om en katalog, og konfigurer systemet i henhold til denne. puppet master: Serveren som har ansvaret for all konfigurasjon. Kompilerer konfigurasjon for hver node til en katalog.
Automatisering av datasenteret Om Puppet 2012-04-23 13 / 53 konfigurasjon Konfigurasjon samles på puppet master. Informasjon om programvare, brukere, konfigurasjonsfiler, kommandoer, systeminnstillinger...
Automatisering av datasenteret Om Puppet 2012-04-23 14 / 53 oppfølging Hver gang puppet agent kjører, vil den sammenlikne systemet den går på med katalogen den får fra master. Ved avvik, vil den rette opp dette. Puppet ser kun på ressurser som er definert i katalogen.
Automatisering av datasenteret Om Puppet 2012-04-23 15 / 53 rapportering Ved avvik vil puppet agent rapportere tilbake til puppet master.
Automatisering av datasenteret Om Puppet 2012-04-23 16 / 53 endringshistorikk Bruk av Puppet gir to typer endringshistorikk. Versjonskontroll: Endringer i konfigurasjon over tid. Hvem, hva, når, og hvorfor Rapporter: Endringer utført på puppet noden. Hva og når.
Automatisering av datasenteret Om Puppet 2012-04-23 17 / 53 asset management Puppet Enterprise inneholder et asset management system. Informasjon herfra er tilgjengelig, og kan brukes videre i andre systemer. leverandør maskinvare serienummer operativsystem og -versjoner nettverksinformasjon all informasjon fra facter...
Automatisering av datasenteret Om Puppet 2012-04-23 18 / 53 kjøreprofil master - agent (automatisk eller manuell) selvstendig (uten master)
Automatisering av datasenteret Om Puppet 2012-04-23 19 / 53 integrasjon Det er mulig å integrere puppet med andre systemer. Hente informasjon om noder fra eksisterende system. Bruke for å lage konfigurasjon. Levere kjøringsrapporter til andre systemer. Levere informasjon til eksisterende asset management.
Automatisering av datasenteret Om Puppet 2012-04-23 20 / 53 Puppet Open Source
Automatisering av datasenteret Om Puppet 2012-04-23 21 / 53 Basiskomponenter Puppet puppet master, puppet agent, puppet resource, puppet cert,... Facter RAM, CPU, navn, domene, ip-adresse, maskinvare, leverandør, serienummer... Hver fact er tilgjengelig som en variabel til bruk i konfigurasjonen. Lett å skrive egne facts.
Automatisering av datasenteret Om Puppet 2012-04-23 22 / 53 ekstra komponenter mcollective Marionette Collective. Direkte kontroll over alle maskiner samtidig. Gjør spørringer på tvers av datasentre, og få en aggregert rapport. Krever ActiveMQ dashboard Web-basert kontroll-, og rapporteringssystem for puppet. Krever en SQL-tjener
Automatisering av datasenteret Om Puppet 2012-04-23 23 / 53 Puppet Enterprise
Automatisering av datasenteret Om Puppet 2012-04-23 24 / 53 Puppet Enterprise Unified installer Puppet, Mcollective, MySQL, ActiveMQ Kjører også på MS Windows Puppet Enterprise Console Support
Automatisering av datasenteret Om Puppet 2012-04-23 25 / 53 Puppet Enterprise Console Som Puppet Dashboard, men med ekstra funksjonalitet Compliance Audit Live Management Role Based Access Control
Automatisering av datasenteret Eksempel 2012-04-23 26 / 53 1 Automatisering 2 Om Puppet 3 Eksempel 4 Arbeide med Puppet 5 Komme i gang
Automatisering av datasenteret Eksempel 2012-04-23 27 / 53 nettavis En del nettaviser har managed hosting hos oss. Noen hos oss, noen hos kunde. Forskjellig programvare. Felles for disse er at vi bruker Puppet til å administrere dem.
Automatisering av datasenteret Eksempel 2012-04-23 28 / 53 uten puppet Mange komponenter Innstillinger i hundrevis av XML-filer Innstillinger forskjellige på hver maskin i henhold til rolle.
Automatisering av datasenteret Eksempel 2012-04-23 29 / 53 uten puppet Tidskrevende, lett å gjøre feil Konfigurert for hånd, eller med script Script endrer seg over tid Vanskelig å kjøre script på gamle maskiner det virker, ikke rør
Automatisering av datasenteret Eksempel 2012-04-23 30 / 53 uten puppet Resultat... Hver maskin unik Hver maskin administrert for seg... eller med kompliserte shell-scripts Høy terskel for nye endringer
Automatisering av datasenteret Eksempel 2012-04-23 31 / 53 uten puppet Oppsett av ny maskin kunne ta over en uke. Oppsett av ny rigg med maskiner, mye lenger tid.
Automatisering av datasenteret Eksempel 2012-04-23 32 / 53 med puppet Konfigurasjonsstyring Felles Administrative brukere, programvare, policy, tilgangskontroll, kvalitetskontroll, overvåkning... Kundespesifikk Kundens brukere, policy Rollespesifikk Programvare og konfigurasjon Maskinspesifikk Konfigurasjon
Automatisering av datasenteret Eksempel 2012-04-23 33 / 53 med puppet Effekter Endringer testes og utføres raskt Dokumentasjon Tilbakerulling Kjøremiljøer utvikling, test, utrulling, produksjon Klare, dokumenterte ansvarsforhold Kunde, leverandør Resultat: Oppsett av ny node måles i minutter, ikke dager.
Automatisering av datasenteret Arbeide med Puppet 2012-04-23 34 / 53 1 Automatisering 2 Om Puppet 3 Eksempel 4 Arbeide med Puppet 5 Komme i gang
Automatisering av datasenteret Arbeide med Puppet 2012-04-23 35 / 53 modularisering av konfigurasjon Konfigurasjon av puppet splittes i moduler. Moduler klassifiseres som felles eller prosjekt-spesifikke.
Automatisering av datasenteret Arbeide med Puppet 2012-04-23 36 / 53 fordeling av ansvar En gruppe, eller en person, tildeles ansvar for en modul.
Automatisering av datasenteret Arbeide med Puppet 2012-04-23 37 / 53 endringskontroll Man bestemmer hvilken kontroll man skal ha for endringer. Man jobber mot versjonskontrollsystem. Man kan gjøre løpende publisering, Continuous Integration, eller man kan publisere versjoner av enkeltmoduler, og la de gjennomgå testing før de produksjonssettes.
Automatisering av datasenteret Arbeide med Puppet 2012-04-23 38 / 53 testmiljøer For å teste konfigurasjon før den settes i produksjon: Et testmiljø med virtuelle maskiner. Minst en av hvert OS som skal støttes av Puppet. Lav terskel for reinstallasjon bruk-og-kast
Automatisering av datasenteret Arbeide med Puppet 2012-04-23 39 / 53 testkjøring Puppet kan vise hvilke endringer som ville blitt utført. Deler av kjøringen kan utføres.
Automatisering av datasenteret Arbeide med Puppet 2012-04-23 40 / 53 innføring av puppet på eksisterende prosjekter Fullt mulig, men...
Automatisering av datasenteret Arbeide med Puppet 2012-04-23 41 / 53 arkeologi Man må være glad i å grave.
Automatisering av datasenteret Arbeide med Puppet 2012-04-23 42 / 53 gradvis inkludering Man trenger heldigvis ikke å gjøre alt på en gang.
Automatisering av datasenteret Komme i gang 2012-04-23 43 / 53 1 Automatisering 2 Om Puppet 3 Eksempel 4 Arbeide med Puppet 5 Komme i gang
Automatisering av datasenteret Komme i gang 2012-04-23 44 / 53 installere puppet Installer puppet, eller puppet enterprise.
Automatisering av datasenteret Komme i gang 2012-04-23 45 / 53 velg en master Velg en server som skal være puppet master. Bør ikke ha andre oppgaver Bør være sikkert plassert Bør være nåbar fra alle puppet noder Man kan ha flere puppet mastere Av skalerings- eller sikkerhetsårsaker.
Automatisering av datasenteret Komme i gang 2012-04-23 46 / 53 velg et versjonskontrollsystem Velg et versjonskontrollsystem som skal holde på konfigurasjonen. git subversion
Automatisering av datasenteret Komme i gang 2012-04-23 47 / 53 skriv en modul Example class sudo { package { sudo : ensure => installed } file { /etc/sudoers : require => Package[ sudo ], content => template( sudo/sudoers.erb ), mode => 0400, owner => root, group => root, } }
Automatisering av datasenteret Komme i gang 2012-04-23 48 / 53 definer en node Example node webserver.example.com { include sudo }
Automatisering av datasenteret Komme i gang 2012-04-23 49 / 53 installer puppet agent på en node Example workstation $ ssh webserver.example.com webserver $ sudo -i webserver # apt-get install puppet
Automatisering av datasenteret Komme i gang 2012-04-23 50 / 53 autorisere noden på master Example workstation $ ssh puppet.example.com puppet $ sudo -i puppet # puppet cert sign webserver.example.com
Automatisering av datasenteret Komme i gang 2012-04-23 51 / 53 puppet agent Fra du har signert sertifikatet til noden, kan det ta opptil 30 minutter før den henter konfigurasjonen sin. Man kan kjøre puppet agent manuelt. Example workstation $ ssh webserver.example.com webserver $ sudo -i webserver # puppet agent --test --noop
Automatisering av datasenteret Komme i gang 2012-04-23 52 / 53 Enterprise console Få oversikten, og se resultatet av kjøringene i Puppet Enterprise Console. status historikk oversikt compliance audit live management asset management
Automatisering av datasenteret Komme i gang 2012-04-23 53 / 53 Takk for meg Kontakt: Stig Sandbeck Mathisen (ssm@redpill-linpro.com)